
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" />
    <title>Changelog &#8212; Python 3.6.10 documentation</title>
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>
    
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 3.6.10 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="next" title="The Python Tutorial" href="../tutorial/index.html" />
    <link rel="prev" title="What’s New in Python 2.0" href="2.0.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <link rel="canonical" href="https://docs.python.org/3/whatsnew/changelog.html" />
    
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    <script type="text/javascript" src="../_static/switchers.js"></script>
    
    <script type="text/javascript">
      $(document).ready(function() {
          // add the search form and bind the events
          $('h1').after([
            '<p>Filter entries by content:',
            '<input type="text" value="" id="searchbox" style="width: 50%">',
            '<input type="submit" id="searchbox-submit" value="Filter"></p>'
          ].join('\n'));

          function dofilter() {
              try {
                  var query = new RegExp($('#searchbox').val(), 'i');
              }
              catch (e) {
                  return; // not a valid regex (yet)
              }
              // find headers for the versions (What's new in Python X.Y.Z?)
              $('#changelog h2').each(function(index1, h2) {
                  var h2_parent = $(h2).parent();
                  var sections_found = 0;
                  // find headers for the sections (Core, Library, etc.)
                  h2_parent.find('h3').each(function(index2, h3) {
                      var h3_parent = $(h3).parent();
                      var entries_found = 0;
                      // find all the entries
                      h3_parent.find('li').each(function(index3, li) {
                          var li = $(li);
                          // check if the query matches the entry
                          if (query.test(li.text())) {
                              li.show();
                              entries_found++;
                          }
                          else {
                              li.hide();
                          }
                      });
                      // if there are entries, show the section, otherwise hide it
                      if (entries_found > 0) {
                          h3_parent.show();
                          sections_found++;
                      }
                      else {
                          h3_parent.hide();
                      }
                  });
                  if (sections_found > 0)
                      h2_parent.show();
                  else
                      h2_parent.hide();
              });
          }
          $('#searchbox').keyup(dofilter);
          $('#searchbox-submit').click(dofilter);
      });
    </script>
    
    
 

  </head><body>
  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="../tutorial/index.html" title="The Python Tutorial"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="2.0.html" title="What’s New in Python 2.0"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <span class="language_switcher_placeholder">en</span>
          <span class="version_switcher_placeholder">3.6.10</span>
          <a href="../index.html">Documentation </a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">What’s New in Python</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="Quick search" type="text" name="q" />
          <input type="submit" value="Go" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>    

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="changelog">
<span id="id1"></span><h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
<div class="section" id="python-next">
<h2>Python next<a class="headerlink" href="#python-next" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: XXXX-XX-XX</em></p>
<div class="section" id="security">
<h3>Security<a class="headerlink" href="#security" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue38576">bpo-38576</a>: Disallow control characters in hostnames in http.client,
addressing CVE-2019-18348. Such potentially malicious header injection
URLs now cause a InvalidURL to be raised.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue39503">bpo-39503</a>: CVE-2020-8492: The
<a class="reference internal" href="../library/urllib.request.html#urllib.request.AbstractBasicAuthHandler" title="urllib.request.AbstractBasicAuthHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractBasicAuthHandler</span></code></a> class of the
<a class="reference internal" href="../library/urllib.request.html#module-urllib.request" title="urllib.request: Extensible library for opening URLs."><code class="xref py py-mod docutils literal notranslate"><span class="pre">urllib.request</span></code></a> module uses an inefficient regular expression which
can be exploited by an attacker to cause a denial of service. Fix the
regex to prevent the catastrophic backtracking. Vulnerability reported by
Ben Caller and Matt Schwager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue39401">bpo-39401</a>: Avoid unsafe load of <code class="docutils literal notranslate"><span class="pre">api-ms-win-core-path-l1-1-0.dll</span></code> at
startup on Windows 7.</p></li>
</ul>
</div>
<div class="section" id="core-and-builtins">
<h3>Core and Builtins<a class="headerlink" href="#core-and-builtins" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue39510">bpo-39510</a>: Fix segfault in <code class="docutils literal notranslate"><span class="pre">readinto()</span></code> method on closed BufferedReader.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue39421">bpo-39421</a>: Fix possible crashes when operating with the functions in the
<a class="reference internal" href="../library/heapq.html#module-heapq" title="heapq: Heap queue algorithm (a.k.a. priority queue)."><code class="xref py py-mod docutils literal notranslate"><span class="pre">heapq</span></code></a> module and custom comparison operators.</p></li>
</ul>
</div>
<div class="section" id="library">
<h3>Library<a class="headerlink" href="#library" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue39503">bpo-39503</a>: <a class="reference internal" href="../library/urllib.request.html#urllib.request.AbstractBasicAuthHandler" title="urllib.request.AbstractBasicAuthHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractBasicAuthHandler</span></code></a> of
<a class="reference internal" href="../library/urllib.request.html#module-urllib.request" title="urllib.request: Extensible library for opening URLs."><code class="xref py py-mod docutils literal notranslate"><span class="pre">urllib.request</span></code></a> now parses all WWW-Authenticate HTTP headers and
accepts multiple challenges per header: use the realm of the first Basic
challenge.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-10-final">
<h2>Python 3.6.10 final<a class="headerlink" href="#python-3-6-10-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-12-18</em></p>
<div class="section" id="macos">
<h3>macOS<a class="headerlink" href="#macos" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue38295">bpo-38295</a>: Prevent failure of test_relative_path in test_py_compile on
macOS Catalina.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-10-release-candidate-1">
<h2>Python 3.6.10 release candidate 1<a class="headerlink" href="#python-3-6-10-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-12-11</em></p>
<div class="section" id="id2">
<h3>Security<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue38945">bpo-38945</a>: Newline characters have been escaped when performing uu
encoding to prevent them from overflowing into to content section of the
encoded file. This prevents malicious or accidental modification of data
during the decoding process.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37228">bpo-37228</a>: Due to significant security concerns, the <em>reuse_address</em>
parameter of <code class="xref py py-meth docutils literal notranslate"><span class="pre">asyncio.loop.create_datagram_endpoint()</span></code> is no longer
supported. This is because of the behavior of <code class="docutils literal notranslate"><span class="pre">SO_REUSEADDR</span></code> in UDP. For
more details, see the documentation for
<code class="docutils literal notranslate"><span class="pre">loop.create_datagram_endpoint()</span></code>. (Contributed by Kyle Stanley, Antoine
Pitrou, and Yury Selivanov in <a class="reference external" href="https://bugs.python.org/issue37228">bpo-37228</a>.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue38804">bpo-38804</a>: Fixes a ReDoS vulnerability in <a class="reference internal" href="../library/http.cookiejar.html#module-http.cookiejar" title="http.cookiejar: Classes for automatic handling of HTTP cookies."><code class="xref py py-mod docutils literal notranslate"><span class="pre">http.cookiejar</span></code></a>. Patch by
Ben Caller.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue38243">bpo-38243</a>: Escape the server title of
<a class="reference internal" href="../library/xmlrpc.server.html#xmlrpc.server.DocXMLRPCServer" title="xmlrpc.server.DocXMLRPCServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">xmlrpc.server.DocXMLRPCServer</span></code></a> when rendering the document page as
HTML. (Contributed by Dong-hee Na in <a class="reference external" href="https://bugs.python.org/issue38243">bpo-38243</a>.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue38174">bpo-38174</a>: Update vendorized expat library version to 2.2.8, which
resolves CVE-2019-15903.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue37461">bpo-37461</a>: Fix an infinite loop when parsing specially crafted email
headers. Patch by Abhilash Raj.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34155">bpo-34155</a>: Fix parsing of invalid email addresses with more than one <code class="docutils literal notranslate"><span class="pre">&#64;</span></code>
(e.g. a&#64;b&#64;c.com.) to not return the part before 2nd <code class="docutils literal notranslate"><span class="pre">&#64;</span></code> as valid email
address. Patch by maxking &amp; jpic.</p></li>
</ul>
</div>
<div class="section" id="id3">
<h3>Library<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue38216">bpo-38216</a>: Allow the rare code that wants to send invalid http requests
from the <a class="reference internal" href="../library/http.client.html#module-http.client" title="http.client: HTTP and HTTPS protocol client (requires sockets)."><code class="xref py py-obj docutils literal notranslate"><span class="pre">http.client</span></code></a> library a way to do so.  The fixes for <a class="reference external" href="https://bugs.python.org/issue30458">bpo-30458</a>
led to breakage for some projects that were relying on this ability to
test their own behavior in the face of bad requests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36564">bpo-36564</a>: Fix infinite loop in email header folding logic that would be
triggered when an email policy’s max_line_length is not long enough to
include the required markup and any values in the message. Patch by Paul
Ganssle</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-9-final">
<h2>Python 3.6.9 final<a class="headerlink" href="#python-3-6-9-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-07-02</em></p>
<div class="section" id="id4">
<h3>Library<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue37437">bpo-37437</a>: Update vendorized expat version to 2.2.7.</p></li>
</ul>
</div>
<div class="section" id="id5">
<h3>macOS<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34602">bpo-34602</a>: Avoid test suite failures on macOS by no longer calling
resource.setrlimit to increase the process stack size limit at runtime.
The runtime change is no longer needed since the interpreter is being
built with a larger default stack size.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-9-release-candidate-1">
<h2>Python 3.6.9 release candidate 1<a class="headerlink" href="#python-3-6-9-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2019-06-18</em></p>
<div class="section" id="id6">
<h3>Security<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35907">bpo-35907</a>: CVE-2019-9948: Avoid file reading by disallowing
<code class="docutils literal notranslate"><span class="pre">local-file://</span></code> and <code class="docutils literal notranslate"><span class="pre">local_file://</span></code> URL schemes in
<code class="docutils literal notranslate"><span class="pre">URLopener().open()</span></code> and <code class="docutils literal notranslate"><span class="pre">URLopener().retrieve()</span></code> of
<a class="reference internal" href="../library/urllib.request.html#module-urllib.request" title="urllib.request: Extensible library for opening URLs."><code class="xref py py-mod docutils literal notranslate"><span class="pre">urllib.request</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36742">bpo-36742</a>: Fixes mishandling of pre-normalization characters in
urlsplit().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30458">bpo-30458</a>: Address CVE-2019-9740 by disallowing URL paths with embedded
whitespace or control characters through into the underlying http client
request.  Such potentially malicious header injection URLs now cause an
http.client.InvalidURL exception to be raised.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue36216">bpo-36216</a>: Changes urlsplit() to raise ValueError when the URL contains
characters that decompose under IDNA encoding (NFKC-normalization) into
characters that affect how the URL is parsed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33529">bpo-33529</a>: Prevent fold function used in email header encoding from
entering infinite loop when there are too many non-ASCII characters in a
header.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35746">bpo-35746</a>: [CVE-2019-5010] Fix a NULL pointer deref in ssl module. The
cert parser did not handle CRL distribution points with empty DP or URI
correctly. A malicious or buggy certificate can result into segfault.
Vulnerability (TALOS-2018-0758) reported by Colin Read and Nicolas Edet of
Cisco.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35121">bpo-35121</a>: Don’t send cookies of domain A without Domain attribute to
domain B when domain A is a suffix match of domain B while using a
cookiejar with <a class="reference internal" href="../library/http.cookiejar.html#http.cookiejar.DefaultCookiePolicy" title="http.cookiejar.DefaultCookiePolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">http.cookiejar.DefaultCookiePolicy</span></code></a> policy. Patch
by Karthikeyan Singaravelan.</p></li>
</ul>
</div>
<div class="section" id="id7">
<h3>Library<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35643">bpo-35643</a>: Fixed a SyntaxWarning: invalid escape sequence in
Modules/_sha3/cleanup.py. Patch by Mickaël Schoentgen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35121">bpo-35121</a>: Don’t set cookie for a request when the request path is a
prefix match of the cookie’s path attribute but doesn’t end with “/”.
Patch by Karthikeyan Singaravelan.</p></li>
</ul>
</div>
<div class="section" id="documentation">
<h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35605">bpo-35605</a>: Fix documentation build for sphinx&lt;1.6.  Patch by Anthony
Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35564">bpo-35564</a>: Explicitly set master_doc variable in conf.py for compliance
with Sphinx 2.0</p></li>
</ul>
</div>
<div class="section" id="tests">
<h3>Tests<a class="headerlink" href="#tests" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue36816">bpo-36816</a>: Update Lib/test/selfsigned_pythontestdotnet.pem to match
self-signed.pythontest.net’s new TLS certificate.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35925">bpo-35925</a>: Skip specific nntplib and ssl networking tests when they would
otherwise fail due to a modern OS or distro with a default OpenSSL policy
of rejecting connections to servers with weak certificates or disabling
TLS below TLSv1.2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27313">bpo-27313</a>: Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa
Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32947">bpo-32947</a>: test_ssl fixes for TLS 1.3 and OpenSSL 1.1.1.</p></li>
</ul>
</div>
<div class="section" id="id8">
<h3>macOS<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34602">bpo-34602</a>: Avoid failures setting macOS stack resource limit with
resource.setrlimit. This reverts an earlier fix for <a class="reference external" href="https://bugs.python.org/issue18075">bpo-18075</a> which forced
a non-default stack size when building the interpreter executable on
macOS.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-8-final">
<h2>Python 3.6.8 final<a class="headerlink" href="#python-3-6-8-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-12-23</em></p>
<div class="section" id="id9">
<h3>Library<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31715">bpo-31715</a>: Associate <code class="docutils literal notranslate"><span class="pre">.mjs</span></code> file extension with
<code class="docutils literal notranslate"><span class="pre">application/javascript</span></code> MIME Type.</p></li>
</ul>
</div>
<div class="section" id="build">
<h3>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35499">bpo-35499</a>: <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">profile-opt</span></code> no longer replaces <code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code> with
<code class="docutils literal notranslate"><span class="pre">CFLAGS</span></code>. It now adds profile-guided optimization (PGO) flags to
<code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code>: existing <code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code> flags are kept.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35257">bpo-35257</a>: Avoid leaking the linker flags from Link Time Optimizations
(LTO) into distutils when compiling C extensions.</p></li>
</ul>
</div>
<div class="section" id="c-api">
<h3>C API<a class="headerlink" href="#c-api" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35259">bpo-35259</a>: Conditionally declare <a class="reference internal" href="../c-api/init.html#c.Py_FinalizeEx" title="Py_FinalizeEx"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_FinalizeEx()</span></code></a> (new in 3.6)
based on Py_LIMITED_API. Patch by Arthur Neufeld.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-8-release-candidate-1">
<h2>Python 3.6.8 release candidate 1<a class="headerlink" href="#python-3-6-8-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-12-11</em></p>
<div class="section" id="id10">
<h3>Security<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34812">bpo-34812</a>: The <a class="reference internal" href="../using/cmdline.html#id2"><code class="xref std std-option docutils literal notranslate"><span class="pre">-I</span></code></a> command line option (run Python in isolated
mode) is now also copied by the <a class="reference internal" href="../library/multiprocessing.html#module-multiprocessing" title="multiprocessing: Process-based parallelism."><code class="xref py py-mod docutils literal notranslate"><span class="pre">multiprocessing</span></code></a> and
<a class="reference internal" href="../library/distutils.html#module-distutils" title="distutils: Support for building and installing Python modules into an existing Python installation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code></a> modules when spawning child processes. Previously, only
<a class="reference internal" href="../using/cmdline.html#cmdoption-e"><code class="xref std std-option docutils literal notranslate"><span class="pre">-E</span></code></a> and <a class="reference internal" href="../using/cmdline.html#cmdoption-s"><code class="xref std std-option docutils literal notranslate"><span class="pre">-s</span></code></a> options (enabled by <a class="reference internal" href="../using/cmdline.html#id2"><code class="xref std std-option docutils literal notranslate"><span class="pre">-I</span></code></a>) were
copied.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34791">bpo-34791</a>: The xml.sax and xml.dom.domreg no longer use environment
variables to override parser implementations when
sys.flags.ignore_environment is set by -E or -I arguments.</p></li>
</ul>
</div>
<div class="section" id="id11">
<h3>Core and Builtins<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35444">bpo-35444</a>: Fixed error handling in pickling methods when fail to look up
builtin “getattr”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35436">bpo-35436</a>: Fix various issues with memory allocation error handling.
Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35357">bpo-35357</a>: Internal attributes’ names of unittest.mock._Call and
unittest.mock.MagicProxy (name, parent &amp; from_kall) are now prefixed with
_mock_ in order to prevent clashes with widely used object attributes.
Fixed minor typo in test function name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35372">bpo-35372</a>: Fixed the code page decoder for input longer than 2 GiB
containing undecodable bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33954">bpo-33954</a>: For <a class="reference internal" href="../library/stdtypes.html#str.format" title="str.format"><code class="xref py py-meth docutils literal notranslate"><span class="pre">str.format()</span></code></a>, <code class="xref py py-meth docutils literal notranslate"><span class="pre">float.__format__()</span></code> and
<code class="xref py py-meth docutils literal notranslate"><span class="pre">complex.__format__()</span></code> methods for non-ASCII decimal point when using
the “n” formatter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35214">bpo-35214</a>: Fixed an out of bounds memory access when parsing a truncated
unicode escape sequence at the end of a string such as <code class="docutils literal notranslate"><span class="pre">'\N'</span></code>.  It would
read one byte beyond the end of the memory allocation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35214">bpo-35214</a>: The interpreter and extension modules have had annotations
added so that they work properly under clang’s Memory Sanitizer.  A new
configure flag –with-memory-sanitizer has been added to make test builds
of this nature easier to perform.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35193">bpo-35193</a>: Fix an off by one error in the bytecode peephole optimizer
where it could read bytes beyond the end of bounds of an array when
removing unreachable code. This bug was present in every release of Python
3.6 until now.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29341">bpo-29341</a>: Clarify in the docstrings of <a class="reference internal" href="../library/os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> methods that path-like
objects are also accepted as input parameters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35050">bpo-35050</a>: <a class="reference internal" href="../library/socket.html#module-socket" title="socket: Low-level networking interface."><code class="xref py py-mod docutils literal notranslate"><span class="pre">socket</span></code></a>: Fix off-by-one bug in length check for
<code class="docutils literal notranslate"><span class="pre">AF_ALG</span></code> name and type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34974">bpo-34974</a>: <a class="reference internal" href="../library/stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytes</span></code></a> and <a class="reference internal" href="../library/stdtypes.html#bytearray" title="bytearray"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytearray</span></code></a> constructors no longer
convert unexpected exceptions (e.g. <a class="reference internal" href="../library/exceptions.html#MemoryError" title="MemoryError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">MemoryError</span></code></a> and
<a class="reference internal" href="../library/exceptions.html#KeyboardInterrupt" title="KeyboardInterrupt"><code class="xref py py-exc docutils literal notranslate"><span class="pre">KeyboardInterrupt</span></code></a>) to <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34973">bpo-34973</a>: Fixed crash in <a class="reference internal" href="../library/stdtypes.html#bytes" title="bytes"><code class="xref py py-func docutils literal notranslate"><span class="pre">bytes()</span></code></a> when the <a class="reference internal" href="../library/stdtypes.html#list" title="list"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> argument is
mutated while it is iterated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34824">bpo-34824</a>: Fix a possible null pointer dereference in Modules/_ssl.c.
Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Do not assume signed integer overflow behavior (C undefined
behavior) when performing set hash table resizing.</p></li>
</ul>
</div>
<div class="section" id="id12">
<h3>Library<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35052">bpo-35052</a>: Fix xml.dom.minidom cloneNode() on a document with an entity:
pass the correct arguments to the user data handler of an entity.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35330">bpo-35330</a>: When a <code class="xref py py-class docutils literal notranslate"><span class="pre">Mock</span></code> instance was used to wrap an object, if
<code class="xref py py-obj docutils literal notranslate"><span class="pre">side_effect</span></code> is used in one of the mocks of it methods, don’t call the
original implementation and return the result of using the side effect the
same way that it is done with return_value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34172">bpo-34172</a>: Revert the fix for this issue previously released in 3.6.7
pending further investigation: Fix a reference issue inside
multiprocessing.Pool that caused the pool to remain alive if it was
deleted without being closed or terminated explicitly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10496">bpo-10496</a>: <code class="xref py py-func docutils literal notranslate"><span class="pre">posixpath.expanduser()</span></code> now returns the input <em>path</em>
unchanged if the <code class="docutils literal notranslate"><span class="pre">HOME</span></code> environment variable is not set and the current
user has no home directory (if the current user identifier doesn’t exist
in the password database). This change fix the <a class="reference internal" href="../library/site.html#module-site" title="site: Module responsible for site-specific configuration."><code class="xref py py-mod docutils literal notranslate"><span class="pre">site</span></code></a> module if the
current user doesn’t exist in the password database (if the user has no
home directory).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35310">bpo-35310</a>: Fix a bug in <a class="reference internal" href="../library/select.html#select.select" title="select.select"><code class="xref py py-func docutils literal notranslate"><span class="pre">select.select()</span></code></a> where, in some cases, the
file descriptor sequences were returned unmodified after a signal
interruption, even though the file descriptors might not be ready yet.
<a class="reference internal" href="../library/select.html#select.select" title="select.select"><code class="xref py py-func docutils literal notranslate"><span class="pre">select.select()</span></code></a> will now always return empty lists if a timeout has
occurred.  Patch by Oran Avraham.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35380">bpo-35380</a>: Enable TCP_NODELAY on Windows for proactor asyncio event loop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35371">bpo-35371</a>: Fixed possible crash in <code class="docutils literal notranslate"><span class="pre">os.utime()</span></code> on Windows when pass
incorrect arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27903">bpo-27903</a>: Fix <code class="docutils literal notranslate"><span class="pre">ResourceWarning</span></code> in <a class="reference internal" href="../library/platform.html#platform.dist" title="platform.dist"><code class="xref py py-func docutils literal notranslate"><span class="pre">platform.dist()</span></code></a> on SuSE and
Caldera OpenLinux. Patch by Ville Skyttä.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28604">bpo-28604</a>: <a class="reference internal" href="../library/locale.html#locale.localeconv" title="locale.localeconv"><code class="xref py py-func docutils literal notranslate"><span class="pre">locale.localeconv()</span></code></a> now sets temporarily the <code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code>
locale to the <code class="docutils literal notranslate"><span class="pre">LC_MONETARY</span></code> locale if the two locales are different and
monetary strings are non-ASCII. This temporary change affects other
threads.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35277">bpo-35277</a>: Update ensurepip to install pip 18.1 and setuptools 40.6.2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35226">bpo-35226</a>: Recursively check arguments when testing for equality of
<a class="reference internal" href="../library/unittest.mock.html#unittest.mock.call" title="unittest.mock.call"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.mock.call</span></code></a> objects and add note that tracking of
parameters used to create ancestors of mocks in <code class="docutils literal notranslate"><span class="pre">mock_calls</span></code> is not
possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35189">bpo-35189</a>: Modify the following fnctl function to retry if interrupted by
a signal (EINTR): flock, lockf, fnctl</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35062">bpo-35062</a>: Fix incorrect parsing of
<code class="xref py py-class docutils literal notranslate"><span class="pre">_io.IncrementalNewlineDecoder</span></code>’s <em>translate</em> argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35079">bpo-35079</a>: Improve difflib.SequenceManager.get_matching_blocks doc by
adding ‘non-overlapping’ and changing ‘!=’ to ‘&lt;’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35017">bpo-35017</a>: <a class="reference internal" href="../library/socketserver.html#socketserver.BaseServer.serve_forever" title="socketserver.BaseServer.serve_forever"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socketserver.BaseServer.serve_forever()</span></code></a> now exits
immediately if it’s <a class="reference internal" href="../library/socketserver.html#socketserver.BaseServer.shutdown" title="socketserver.BaseServer.shutdown"><code class="xref py py-meth docutils literal notranslate"><span class="pre">shutdown()</span></code></a> method is
called while it is polling for new events.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31047">bpo-31047</a>: Fix <code class="docutils literal notranslate"><span class="pre">ntpath.abspath</span></code> regression where it didn’t remove a
trailing separator on Windows. Patch by Tim Graham.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34794">bpo-34794</a>: Fixed a leak in Tkinter when pass the Python wrapper around
Tcl_Obj back to Tcl/Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35008">bpo-35008</a>: Fixed references leaks when call the <code class="docutils literal notranslate"><span class="pre">__setstate__()</span></code> method
of <a class="reference internal" href="../library/xml.etree.elementtree.html#xml.etree.ElementTree.Element" title="xml.etree.ElementTree.Element"><code class="xref py py-class docutils literal notranslate"><span class="pre">xml.etree.ElementTree.Element</span></code></a> in the C implementation for
already initialized element.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23420">bpo-23420</a>: Verify the value for the parameter ‘-s’ of the cProfile CLI.
Patch by Robert Kuska</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16965">bpo-16965</a>: The <a class="reference internal" href="../glossary.html#term-2to3"><span class="xref std std-term">2to3</span></a> <a class="reference internal" href="../library/2to3.html#2to3fixer-execfile"><code class="xref std std-2to3fixer docutils literal notranslate"><span class="pre">execfile</span></code></a> fixer now opens the file
with mode <code class="docutils literal notranslate"><span class="pre">'rb'</span></code>.  Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34966">bpo-34966</a>: <a class="reference internal" href="../library/pydoc.html#module-pydoc" title="pydoc: Documentation generator and online help system."><code class="xref py py-mod docutils literal notranslate"><span class="pre">pydoc</span></code></a> now supports aliases not only to methods defined
in the end class, but also to inherited methods.  The docstring is not
duplicated for aliases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34941">bpo-34941</a>: Methods <code class="docutils literal notranslate"><span class="pre">find()</span></code>, <code class="docutils literal notranslate"><span class="pre">findtext()</span></code> and <code class="docutils literal notranslate"><span class="pre">findall()</span></code> of the
<code class="docutils literal notranslate"><span class="pre">Element</span></code> class in the <a class="reference internal" href="../library/xml.etree.elementtree.html#module-xml.etree.ElementTree" title="xml.etree.ElementTree: Implementation of the ElementTree API."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.etree.ElementTree</span></code></a> module are now able
to find children which are instances of <code class="docutils literal notranslate"><span class="pre">Element</span></code> subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34936">bpo-34936</a>: Fix <code class="docutils literal notranslate"><span class="pre">TclError</span></code> in <code class="docutils literal notranslate"><span class="pre">tkinter.Spinbox.selection_element()</span></code>.
Patch by Juliette Monsel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34900">bpo-34900</a>: Fixed <a class="reference internal" href="../library/unittest.html#unittest.TestCase.debug" title="unittest.TestCase.debug"><code class="xref py py-meth docutils literal notranslate"><span class="pre">unittest.TestCase.debug()</span></code></a> when used to call test
methods with subtests.  Patch by Bruno Oliveira.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34866">bpo-34866</a>: Adding <code class="docutils literal notranslate"><span class="pre">max_num_fields</span></code> to <code class="docutils literal notranslate"><span class="pre">cgi.FieldStorage</span></code> to make DOS
attacks harder by limiting the number of <code class="docutils literal notranslate"><span class="pre">MiniFieldStorage</span></code> objects
created by <code class="docutils literal notranslate"><span class="pre">FieldStorage</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34738">bpo-34738</a>: ZIP files created by <a class="reference internal" href="../library/distutils.html#module-distutils" title="distutils: Support for building and installing Python modules into an existing Python installation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code></a> will now include entries
for directories.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31177">bpo-31177</a>: Fix bug that prevented using <a class="reference internal" href="../library/unittest.mock.html#unittest.mock.Mock.reset_mock" title="unittest.mock.Mock.reset_mock"><code class="xref py py-meth docutils literal notranslate"><span class="pre">reset_mock</span></code></a> on mock instances with deleted attributes</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34604">bpo-34604</a>: Fix possible mojibake in the error message of <a class="reference internal" href="../library/pwd.html#pwd.getpwnam" title="pwd.getpwnam"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pwd.getpwnam</span></code></a>
and <a class="reference internal" href="../library/grp.html#grp.getgrnam" title="grp.getgrnam"><code class="xref py py-obj docutils literal notranslate"><span class="pre">grp.getgrnam</span></code></a> using string representation because of invisible
characters or trailing whitespaces. Patch by William Grzybowski.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34574">bpo-34574</a>: OrderedDict iterators are not exhausted during pickling
anymore. Patch by Sergey Fedoseev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34052">bpo-34052</a>: <a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.create_aggregate" title="sqlite3.Connection.create_aggregate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.create_aggregate()</span></code></a>,
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.create_function" title="sqlite3.Connection.create_function"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.create_function()</span></code></a>,
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.set_authorizer" title="sqlite3.Connection.set_authorizer"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.set_authorizer()</span></code></a>,
<a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.set_progress_handler" title="sqlite3.Connection.set_progress_handler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.set_progress_handler()</span></code></a> methods raises TypeError
when unhashable objects are passed as callable. These methods now don’t
pass such objects to SQLite API. Previous behavior could lead to
segfaults. Patch by Sergey Fedoseev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29877">bpo-29877</a>: compileall: import ProcessPoolExecutor only when needed,
preventing hangs on low resource platforms</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22005">bpo-22005</a>: Implemented unpickling instances of
<a class="reference internal" href="../library/datetime.html#datetime.datetime" title="datetime.datetime"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime</span></code></a>, <a class="reference internal" href="../library/datetime.html#datetime.date" title="datetime.date"><code class="xref py py-class docutils literal notranslate"><span class="pre">date</span></code></a> and
<a class="reference internal" href="../library/datetime.html#datetime.time" title="datetime.time"><code class="xref py py-class docutils literal notranslate"><span class="pre">time</span></code></a> pickled by Python 2. <code class="docutils literal notranslate"><span class="pre">encoding='latin1'</span></code> should
be used for successful decoding.</p></li>
</ul>
</div>
<div class="section" id="id13">
<h3>Documentation<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35089">bpo-35089</a>: Remove mention of <code class="docutils literal notranslate"><span class="pre">typing.io</span></code> and <code class="docutils literal notranslate"><span class="pre">typing.re</span></code>. Their types
should be imported from <code class="docutils literal notranslate"><span class="pre">typing</span></code> directly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35038">bpo-35038</a>: Fix the documentation about an unexisting <code class="xref py py-obj docutils literal notranslate"><span class="pre">f_restricted</span></code>
attribute in the frame object. Patch by Stéphane Wirtel</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35035">bpo-35035</a>: Rename documentation for <a class="reference internal" href="../library/email.utils.html#module-email.utils" title="email.utils: Miscellaneous email package utilities."><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.utils</span></code></a> to
<code class="docutils literal notranslate"><span class="pre">email.utils.rst</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34967">bpo-34967</a>: Use app.add_object_type() instead of the deprecated Sphinx
function app.description_unit()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33594">bpo-33594</a>: Document <code class="docutils literal notranslate"><span class="pre">getargspec</span></code>, <code class="docutils literal notranslate"><span class="pre">from_function</span></code> and <code class="docutils literal notranslate"><span class="pre">from_builtin</span></code>
as deprecated in their respective docstring, and include version since
deprecation in DeprecationWarning message.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32613">bpo-32613</a>: Update the faq/windows.html to use the py command from PEP 397
instead of python.</p></li>
</ul>
</div>
<div class="section" id="id14">
<h3>Tests<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33725">bpo-33725</a>: test_multiprocessing_fork may crash on recent versions of
macOS.  Until the issue is resolved, skip the test on macOS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35352">bpo-35352</a>: Modify test_asyncio to use the certificate set from the test
directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35317">bpo-35317</a>: Fix <code class="docutils literal notranslate"><span class="pre">mktime()</span></code> overflow error in <code class="docutils literal notranslate"><span class="pre">test_email</span></code>: run
<code class="docutils literal notranslate"><span class="pre">test_localtime_daylight_true_dst_true()</span></code> and
<code class="docutils literal notranslate"><span class="pre">test_localtime_daylight_false_dst_true()</span></code> with a specific timezone.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21263">bpo-21263</a>: After several reports that test_gdb does not work properly on
macOS and since gdb is not shipped by default anymore, test_gdb is now
skipped on macOS when LLVM Clang has been used to compile Python. Patch by
Lysandros Nikolaou</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34279">bpo-34279</a>: regrtest issue a warning when no tests have been executed in a
particular test file. Also, a new final result state is issued if no test
have been executed across all test files. Patch by Pablo Galindo.</p></li>
</ul>
</div>
<div class="section" id="id15">
<h3>Build<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35351">bpo-35351</a>: When building Python with clang and LTO, LTO flags are no
longer passed into CFLAGS to build third-party C extensions through
distutils.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35139">bpo-35139</a>: Fix a compiler error when statically linking <code class="xref py py-obj docutils literal notranslate"><span class="pre">pyexpat</span></code> in
<code class="xref py py-obj docutils literal notranslate"><span class="pre">Modules/Setup</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35011">bpo-35011</a>: Restores the use of pyexpatns.h to isolate our embedded copy of
the expat C library so that its symbols do not conflict at link or dynamic
loading time with an embedding application or other extension modules with
their own version of libexpat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28015">bpo-28015</a>: Have –with-lto works correctly with clang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33015">bpo-33015</a>: Fix an undefined behaviour in the pthread implementation of
<code class="xref c c-func docutils literal notranslate"><span class="pre">PyThread_start_new_thread()</span></code>: add a function wrapper to always
return <code class="docutils literal notranslate"><span class="pre">NULL</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31625">bpo-31625</a>: Stop using ranlib on static libraries. Instead, we assume ar
supports the ‘s’ flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31354">bpo-31354</a>: Allow –with-lto to be used on all builds, not just <code class="xref py py-obj docutils literal notranslate"><span class="pre">make</span>
<span class="pre">profile-opt</span></code>.</p></li>
</ul>
</div>
<div class="section" id="windows">
<h3>Windows<a class="headerlink" href="#windows" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35401">bpo-35401</a>: Updates Windows build to OpenSSL 1.0.2q</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32890">bpo-32890</a>: Fix usage of GetLastError() instead of errno in os.execve() and
os.truncate().</p></li>
</ul>
</div>
<div class="section" id="id16">
<h3>macOS<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue15663">bpo-15663</a>: The macOS 10.6+ installer now provides a private copy of Tcl/Tk
8.6, like the 10.9+ installer does.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35402">bpo-35402</a>: Update macOS installer to use Tcl/Tk 8.6.9.1.  [NOTE: This
change was reverted for the released python.org 3.6.8 macOS installers due
to regressions found in Tk 8.6.9.1.  For now, the installers provide
Tcl/Tk 8.6.8.]</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35401">bpo-35401</a>: Update macOS installer to use OpenSSL 1.0.2q.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35025">bpo-35025</a>: Properly guard the use of the <code class="docutils literal notranslate"><span class="pre">CLOCK_GETTIME</span></code> et al. macros
in <code class="docutils literal notranslate"><span class="pre">timemodule</span></code> on macOS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24658">bpo-24658</a>: On macOS, fix reading from and writing into a file with a size
larger than 2 GiB.</p></li>
</ul>
</div>
<div class="section" id="idle">
<h3>IDLE<a class="headerlink" href="#idle" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue35213">bpo-35213</a>: Where appropriate, use ‘macOS’ in idlelib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34864">bpo-34864</a>: On macOS, warn if the system preference “Prefer tabs when
opening documents” is set to “Always”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34864">bpo-34864</a>: Document two IDLE on MacOS issues. The System Preferences Dock
“prefer tabs always” setting disables some IDLE features.  Menus are a bit
different than as described for Windows and Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35202">bpo-35202</a>: Remove unused imports from lib/idlelib</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33000">bpo-33000</a>: Document that IDLE’s shell has no line limit. A program that
runs indefinitely can overfill memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23220">bpo-23220</a>: Explain how IDLE’s Shell displays output.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35099">bpo-35099</a>: Improve the doc about IDLE running user code.   The section is
renamed from “IDLE – console differences” is renamed “Running user code”.
It mostly covers the implications of using custom sys.stdxxx objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35097">bpo-35097</a>: Add IDLE doc subsection explaining editor windows. Topics
include opening, title and status bar, .py* extension, and running.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35093">bpo-35093</a>: Document the IDLE document viewer in the IDLE doc. Add a
paragraph in “Help and preferences”, “Help sources” subsection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35088">bpo-35088</a>: Update idlelib.help.copy_string docstring. We now use git and
backporting instead of hg and forward merging.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue35087">bpo-35087</a>: Update idlelib help files for the current doc build. The main
change is the elimination of chapter-section numbers.</p></li>
</ul>
</div>
<div class="section" id="tools-demos">
<h3>Tools/Demos<a class="headerlink" href="#tools-demos" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34989">bpo-34989</a>: python-gdb.py now handles errors on computing the line number
of a Python frame.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-7-final">
<h2>Python 3.6.7 final<a class="headerlink" href="#python-3-6-7-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-10-20</em></p>
<p>There were no new changes in version 3.6.7.</p>
</div>
<div class="section" id="python-3-6-7-release-candidate-2">
<h2>Python 3.6.7 release candidate 2<a class="headerlink" href="#python-3-6-7-release-candidate-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-10-13</em></p>
<div class="section" id="id17">
<h3>Core and Builtins<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34879">bpo-34879</a>: Fix a possible null pointer dereference in bytesobject.c.
Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34320">bpo-34320</a>: Fix <code class="docutils literal notranslate"><span class="pre">dict(od)</span></code> didn’t copy iteration order of OrderedDict.</p></li>
</ul>
</div>
<div class="section" id="id18">
<h3>Library<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34769">bpo-34769</a>: Fix for async generators not finalizing when event loop is in
debug mode and garbage collector runs in another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34922">bpo-34922</a>: Fixed integer overflow in the <a class="reference internal" href="../library/hashlib.html#hashlib.shake.digest" title="hashlib.shake.digest"><code class="xref py py-meth docutils literal notranslate"><span class="pre">digest()</span></code></a>
and <a class="reference internal" href="../library/hashlib.html#hashlib.shake.hexdigest" title="hashlib.shake.hexdigest"><code class="xref py py-meth docutils literal notranslate"><span class="pre">hexdigest()</span></code></a> methods for the SHAKE algorithm in
the <a class="reference internal" href="../library/hashlib.html#module-hashlib" title="hashlib: Secure hash and message digest algorithms."><code class="xref py py-mod docutils literal notranslate"><span class="pre">hashlib</span></code></a> module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34871">bpo-34871</a>: Fix inspect module polluted <code class="docutils literal notranslate"><span class="pre">sys.modules</span></code> when parsing
<code class="docutils literal notranslate"><span class="pre">__text_signature__</span></code> of callable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34872">bpo-34872</a>: Fix self-cancellation in C implementation of asyncio.Task</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34819">bpo-34819</a>: Use a monotonic clock to compute timeouts in
<code class="xref py py-meth docutils literal notranslate"><span class="pre">Executor.map()</span></code> and <code class="xref py py-func docutils literal notranslate"><span class="pre">as_completed()</span></code>, in order to prevent
timeouts from deviating when the system clock is adjusted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34521">bpo-34521</a>: Use <a class="reference internal" href="../library/socket.html#socket.CMSG_SPACE" title="socket.CMSG_SPACE"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.CMSG_SPACE()</span></code></a> to calculate ancillary data size
instead of <a class="reference internal" href="../library/socket.html#socket.CMSG_LEN" title="socket.CMSG_LEN"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.CMSG_LEN()</span></code></a> in
<code class="xref py py-func docutils literal notranslate"><span class="pre">multiprocessing.reduction.recvfds()</span></code> as <span class="target" id="index-0"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc3542.html"><strong>RFC 3542</strong></a> requires the use
of the former for portable applications.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34282">bpo-34282</a>: Fix enum members getting shadowed by parent attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34172">bpo-34172</a>: Fix a reference issue inside multiprocessing.Pool that caused
the pool to remain alive if it was deleted without being closed or
terminated explicitly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33729">bpo-33729</a>: Fixed issues with arguments parsing in <a class="reference internal" href="../library/hashlib.html#module-hashlib" title="hashlib: Secure hash and message digest algorithms."><code class="xref py py-mod docutils literal notranslate"><span class="pre">hashlib</span></code></a>.</p></li>
</ul>
</div>
<div class="section" id="id19">
<h3>Documentation<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32174">bpo-32174</a>: chm document displays non-ASCII charaters properly on some MBCS
Windows systems.</p></li>
</ul>
</div>
<div class="section" id="id20">
<h3>Tests<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: Fixed test_gdb when Python is compiled with flags -mcet
-fcf-protection -O0.</p></li>
</ul>
</div>
<div class="section" id="id21">
<h3>macOS<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34370">bpo-34370</a>: Revert to using the released Tk 8.6.8 with macOS installers
instead of the Tk 8.6.x development snapshot used with 3.7.1rc1 and
3.6.7rc1. The snapshot introduced at least one significant regression
(<a class="reference external" href="https://bugs.python.org/issue34927">bpo-34927</a>).</p></li>
</ul>
</div>
<div class="section" id="id22">
<h3>C API<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34910">bpo-34910</a>: Ensure that <a class="reference internal" href="../c-api/object.html#c.PyObject_Print" title="PyObject_Print"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyObject_Print()</span></code></a> always returns <code class="docutils literal notranslate"><span class="pre">-1</span></code> on
error.  Patch by Zackery Spytz.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-7-release-candidate-1">
<h2>Python 3.6.7 release candidate 1<a class="headerlink" href="#python-3-6-7-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-09-26</em></p>
<div class="section" id="id23">
<h3>Security<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue17239">bpo-17239</a>: The xml.sax and xml.dom.minidom parsers no longer processes
external entities by default. External DTD and ENTITY declarations no
longer load files or create network connections.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34623">bpo-34623</a>: CVE-2018-14647: The C accelerated _elementtree module now
initializes hash randomization salt from _Py_HashSecret instead of
libexpat’s default CSPRNG.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34405">bpo-34405</a>: Updated to OpenSSL 1.0.2p for Windows builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33871">bpo-33871</a>: Fixed sending the part of the file in <a class="reference internal" href="../library/os.html#os.sendfile" title="os.sendfile"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.sendfile()</span></code></a> on
macOS.  Using the <em>trailers</em> argument could cause sending more bytes from
the input file than was specified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32533">bpo-32533</a>: Fixed thread-safety of error handling in _ssl.</p></li>
</ul>
</div>
<div class="section" id="id24">
<h3>Core and Builtins<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34735">bpo-34735</a>: Fix a memory leak in Modules/timemodule.c.  Patch by Zackery
Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34588">bpo-34588</a>: Fix an off-by-one in the recursive call pruning feature of
traceback formatting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34527">bpo-34527</a>: On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also
forces the ASCII encoding if the LC_CTYPE locale is “POSIX”, not only if
the LC_CTYPE locale is “C”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34400">bpo-34400</a>: Fix undefined behavior in parsetok.c.  Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34377">bpo-34377</a>: Update valgrind suppression list to use
<code class="docutils literal notranslate"><span class="pre">_PyObject_Free</span></code>/<code class="docutils literal notranslate"><span class="pre">_PyObject_Realloc</span></code> instead of
<code class="docutils literal notranslate"><span class="pre">PyObject_Free</span></code>/<code class="docutils literal notranslate"><span class="pre">PyObject_Realloc</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24618">bpo-24618</a>: Fixed reading invalid memory when create the code object with
too small varnames tuple or too large argument counts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34068">bpo-34068</a>: In <a class="reference internal" href="../library/io.html#io.IOBase.close" title="io.IOBase.close"><code class="xref py py-meth docutils literal notranslate"><span class="pre">io.IOBase.close()</span></code></a>, ensure that the
<a class="reference internal" href="../library/io.html#io.IOBase.closed" title="io.IOBase.closed"><code class="xref py py-attr docutils literal notranslate"><span class="pre">closed</span></code></a> attribute is not set with a live exception.
Patch by Zackery Spytz and Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34080">bpo-34080</a>: Fixed a memory leak in the compiler when it raised some
uncommon errors during tokenizing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34066">bpo-34066</a>: Disabled interruption by Ctrl-C between calling <code class="docutils literal notranslate"><span class="pre">open()</span></code> and
entering a <strong>with</strong> block in <code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">open()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33956">bpo-33956</a>: Update vendored Expat library copy to version 2.2.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24596">bpo-24596</a>: Decref the module object in <a class="reference internal" href="../c-api/veryhigh.html#c.PyRun_SimpleFileExFlags" title="PyRun_SimpleFileExFlags"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyRun_SimpleFileExFlags()</span></code></a>
before calling <a class="reference internal" href="../c-api/exceptions.html#c.PyErr_Print" title="PyErr_Print"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_Print()</span></code></a>.  Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33451">bpo-33451</a>: Close directly executed pyc files before calling
<code class="docutils literal notranslate"><span class="pre">PyEval_EvalCode()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33312">bpo-33312</a>: Fixed clang ubsan (undefined behavior sanitizer) warnings in
dictobject.c by adjusting how the internal struct _dictkeysobject shared
keys structure is declared.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25750">bpo-25750</a>: Fix rare Python crash due to bad refcounting in
<code class="docutils literal notranslate"><span class="pre">type_getattro()</span></code> if a descriptor deletes itself from the class. Patch
by Jeroen Demeyer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25862">bpo-25862</a>: Fix assertion failures in the <code class="docutils literal notranslate"><span class="pre">tell()</span></code> method of
<code class="docutils literal notranslate"><span class="pre">io.TextIOWrapper</span></code>. Patch by Zackery Spytz.</p></li>
</ul>
</div>
<div class="section" id="id25">
<h3>Library<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34670">bpo-34670</a>: Add SSLContext.post_handshake_auth and
SSLSocket.verify_client_post_handshake for TLS 1.3’s post handshake
authentication feature.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34652">bpo-34652</a>: Ensure <a class="reference internal" href="../library/os.html#os.lchmod" title="os.lchmod"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.lchmod()</span></code></a> is never defined on Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34625">bpo-34625</a>: Update vendorized expat library version to 2.2.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32270">bpo-32270</a>: The subprocess module no longer mistakenly closes redirected
fds even when they were in pass_fds when outside of the default {0, 1, 2}
set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34610">bpo-34610</a>: Fixed iterator of <code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.managers.DictProxy</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34421">bpo-34421</a>: Fix distutils logging for non-ASCII strings.  This caused
installation issues on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34604">bpo-34604</a>: Fix possible mojibake in the error message of <a class="reference internal" href="../library/pwd.html#pwd.getpwnam" title="pwd.getpwnam"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pwd.getpwnam</span></code></a>
and <a class="reference internal" href="../library/grp.html#grp.getgrnam" title="grp.getgrnam"><code class="xref py py-obj docutils literal notranslate"><span class="pre">grp.getgrnam</span></code></a>. Patch by William Grzybowski.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34530">bpo-34530</a>: <code class="docutils literal notranslate"><span class="pre">distutils.spawn.find_executable()</span></code> now falls back on
<a class="reference internal" href="../library/os.html#os.defpath" title="os.defpath"><code class="xref py py-data docutils literal notranslate"><span class="pre">os.defpath</span></code></a> if the <code class="docutils literal notranslate"><span class="pre">PATH</span></code> environment variable is not set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34563">bpo-34563</a>: On Windows, fix multiprocessing.Connection for very large read:
fix _winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger than
INT_MAX (usually 2^31-1).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13312">bpo-13312</a>: Avoids a possible integer underflow (undefined behavior) in the
time module’s year handling code when passed a very low negative year
value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34472">bpo-34472</a>: Improved compatibility for streamed files in <a class="reference internal" href="../library/zipfile.html#module-zipfile" title="zipfile: Read and write ZIP-format archive files."><code class="xref py py-mod docutils literal notranslate"><span class="pre">zipfile</span></code></a>.
Previously an optional signature was not being written and certain ZIP
applications were not supported. Patch by Silas Sewell.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6700">bpo-6700</a>: Fix inspect.getsourcelines for module level frames/tracebacks.
Patch by Vladimir Matveev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32947">bpo-32947</a>: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3
for future compatibility with OpenSSL 1.1.1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34341">bpo-34341</a>: Appending to the ZIP archive with the ZIP64 extension no longer
grows the size of extra fields of existing entries.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18540">bpo-18540</a>: The <a class="reference internal" href="../library/imaplib.html#imaplib.IMAP4" title="imaplib.IMAP4"><code class="xref py py-class docutils literal notranslate"><span class="pre">imaplib.IMAP4</span></code></a> and <a class="reference internal" href="../library/imaplib.html#imaplib.IMAP4_SSL" title="imaplib.IMAP4_SSL"><code class="xref py py-class docutils literal notranslate"><span class="pre">imaplib.IMAP4_SSL</span></code></a>
classes now resolve to the local host IP correctly when the default value
of <em>host</em> parameter (<code class="docutils literal notranslate"><span class="pre">''</span></code>) is used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34246">bpo-34246</a>: <a class="reference internal" href="../library/smtplib.html#smtplib.SMTP.send_message" title="smtplib.SMTP.send_message"><code class="xref py py-meth docutils literal notranslate"><span class="pre">smtplib.SMTP.send_message()</span></code></a> no longer modifies the
content of the <em>mail_options</em> argument. Patch by Pablo S. Blum de Aguiar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31047">bpo-31047</a>: Fix <code class="docutils literal notranslate"><span class="pre">ntpath.abspath</span></code> for invalid paths on windows. Patch by
Franz Woellert.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34263">bpo-34263</a>: asyncio’s event loop will not pass timeouts longer than one day
to epoll/select etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32215">bpo-32215</a>: Fix performance regression in <a class="reference internal" href="../library/sqlite3.html#module-sqlite3" title="sqlite3: A DB-API 2.0 implementation using SQLite 3.x."><code class="xref py py-mod docutils literal notranslate"><span class="pre">sqlite3</span></code></a> when a DML
statement appeared in a different line than the rest of the SQL query.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19891">bpo-19891</a>: Ignore errors caused by missing / non-writable homedir while
writing history during exit of an interactive session.  Patch by Anthony
Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue940286">bpo-940286</a>: pydoc’s <code class="docutils literal notranslate"><span class="pre">Helper.showtopic()</span></code> method now prints the cross
references of a topic correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34164">bpo-34164</a>: <a class="reference internal" href="../library/base64.html#base64.b32decode" title="base64.b32decode"><code class="xref py py-func docutils literal notranslate"><span class="pre">base64.b32decode()</span></code></a> could raise UnboundLocalError or
OverflowError for incorrect padding.  Now it always raises
<code class="xref py py-exc docutils literal notranslate"><span class="pre">base64.Error</span></code> in these cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33967">bpo-33967</a>: functools.singledispatch now raises TypeError instead of
IndexError when no positional arguments are passed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34054">bpo-34054</a>: The multiprocessing module now uses the monotonic clock
<a class="reference internal" href="../library/time.html#time.monotonic" title="time.monotonic"><code class="xref py py-func docutils literal notranslate"><span class="pre">time.monotonic()</span></code></a> instead of the system clock <a class="reference internal" href="../library/time.html#time.time" title="time.time"><code class="xref py py-func docutils literal notranslate"><span class="pre">time.time()</span></code></a> to
implement timeout.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34010">bpo-34010</a>: Fixed a performance regression for reading streams with
tarfile. The buffered read should use a list, instead of appending to a
bytes object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34019">bpo-34019</a>: webbrowser: Correct the arguments passed to Opera Browser when
opening a new URL using the <code class="docutils literal notranslate"><span class="pre">webbrowser</span></code> module. Patch by Bumsik Kim.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33978">bpo-33978</a>: Closed existing logging handlers before reconfiguration via
fileConfig and dictConfig. Patch by Karthikeyan Singaravelan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14117">bpo-14117</a>: Make minor tweaks to turtledemo. The ‘wikipedia’ example is now
‘rosette’, decribing what it draws.  The ‘penrose’ print output is
reduced. The’1024’ output of ‘tree’ is eliminated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33974">bpo-33974</a>: Fixed passing lists and tuples of strings containing special
characters <code class="docutils literal notranslate"><span class="pre">&quot;</span></code>, <code class="docutils literal notranslate"><span class="pre">\</span></code>, <code class="docutils literal notranslate"><span class="pre">{</span></code>, <code class="docutils literal notranslate"><span class="pre">}</span></code> and <code class="docutils literal notranslate"><span class="pre">\n</span></code> as options to
<a class="reference internal" href="../library/tkinter.ttk.html#module-tkinter.ttk" title="tkinter.ttk: Tk themed widget set"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ttk</span></code></a> widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27500">bpo-27500</a>: Fix getaddrinfo to resolve IPv6 addresses correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24567">bpo-24567</a>: Improve random.choices() to handle subnormal input weights that
could occasionally trigger an IndexError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33871">bpo-33871</a>: Fixed integer overflow in <a class="reference internal" href="../library/os.html#os.readv" title="os.readv"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.readv()</span></code></a> and
<a class="reference internal" href="../library/os.html#os.writev" title="os.writev"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.writev()</span></code></a> and in <a class="reference internal" href="../library/os.html#os.sendfile" title="os.sendfile"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.sendfile()</span></code></a> with <em>headers</em> or <em>trailers</em>
arguments (on BSD-based OSes and macOS).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33899">bpo-33899</a>: Tokenize module now implicitly emits a NEWLINE when provided
with input that does not have a trailing new line.  This behavior now
matches what the C tokenizer does internally.  Contributed by Ammar Askar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33916">bpo-33916</a>: bz2 and lzma: When Decompressor.__init__() is called twice,
free the old lock to not leak memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32568">bpo-32568</a>: Make select.epoll() and its documentation consistent regarding
<em>sizehint</em> and <em>flags</em>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33663">bpo-33663</a>: Convert content length to string before putting to header.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26544">bpo-26544</a>: Fixed implementation of <a class="reference internal" href="../library/platform.html#platform.libc_ver" title="platform.libc_ver"><code class="xref py py-func docutils literal notranslate"><span class="pre">platform.libc_ver()</span></code></a>. It almost
always returned version ‘2.9’ for glibc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27397">bpo-27397</a>: Make email module properly handle invalid-length base64
strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33476">bpo-33476</a>: Fix _header_value_parser.py when address group is missing final
‘;’. Contributed by Enrique Perez-Terron</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33570">bpo-33570</a>: Change TLS 1.3 cipher suite settings for compatibility with
OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers
enabled by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33365">bpo-33365</a>: Print the header values besides the header keys instead just
the header keys if <em>debuglevel</em> is set to &gt;0 in <a class="reference internal" href="../library/http.client.html#module-http.client" title="http.client: HTTP and HTTPS protocol client (requires sockets)."><code class="xref py py-mod docutils literal notranslate"><span class="pre">http.client</span></code></a>. Patch
by Marco Strigl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33336">bpo-33336</a>: <code class="docutils literal notranslate"><span class="pre">imaplib</span></code> now allows <code class="docutils literal notranslate"><span class="pre">MOVE</span></code> command in <code class="docutils literal notranslate"><span class="pre">IMAP4.uid()</span></code> (RFC
6851: IMAP MOVE Extension) and potentially as a name of supported method
of <code class="docutils literal notranslate"><span class="pre">IMAP4</span></code> object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32356">bpo-32356</a>: asyncio.transport.resume_reading() and pause_reading() are now
idempotent.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31608">bpo-31608</a>: Raise a <code class="docutils literal notranslate"><span class="pre">TypeError</span></code> instead of crashing if a
<code class="docutils literal notranslate"><span class="pre">collections.deque</span></code> subclass returns a non-deque from <code class="docutils literal notranslate"><span class="pre">__new__</span></code>. Patch
by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29456">bpo-29456</a>: Fix bugs in hangul normalization: u1176, u11a7 and u11c3</p></li>
</ul>
</div>
<div class="section" id="id26">
<h3>Documentation<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28617">bpo-28617</a>: Fixed info in the stdtypes docs concerning the types that
support membership tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34065">bpo-34065</a>: Fix wrongly written basicConfig documentation markup syntax</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33847">bpo-33847</a>: Add ‘&#64;’ operator entry to index.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25041">bpo-25041</a>: Document <code class="docutils literal notranslate"><span class="pre">AF_PACKET</span></code> in the <a class="reference internal" href="../library/socket.html#module-socket" title="socket: Low-level networking interface."><code class="xref py py-mod docutils literal notranslate"><span class="pre">socket</span></code></a> module.</p></li>
</ul>
</div>
<div class="section" id="id27">
<h3>Tests<a class="headerlink" href="#id27" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34587">bpo-34587</a>: test_socket: Remove RDSTest.testCongestion(). The test tries to
fill the receiver’s socket buffer and expects an error. But the RDS
protocol doesn’t require that. Moreover, the Linux implementation of RDS
expects that the producer of the messages reduces its rate, it’s not the
role of the receiver to trigger an error. The test fails on Fedora 28 by
design, so just remove it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34661">bpo-34661</a>: Fix test_shutil if unzip doesn’t support -t.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34200">bpo-34200</a>: Fixed non-deterministic flakiness of test_pkg by not using the
scary test.support.module_cleanup() logic to save and restore sys.modules
contents between test cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34594">bpo-34594</a>: Fix usage of hardcoded <code class="docutils literal notranslate"><span class="pre">errno</span></code> values in the tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34542">bpo-34542</a>: Use 3072 RSA keys and SHA-256 signature for test certs and
keys.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34391">bpo-34391</a>: Fix ftplib test for TLS 1.3 by reading from data socket.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34399">bpo-34399</a>: Update all RSA keys and DH params to use at least 2048 bits.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33746">bpo-33746</a>: Fix test_unittest when run in verbose mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33901">bpo-33901</a>: Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to
make sure that the file size changes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33873">bpo-33873</a>: Fix a bug in <code class="docutils literal notranslate"><span class="pre">regrtest</span></code> that caused an extra test to run if
–huntrleaks/-R was used. Exit with error in case that invalid parameters
are specified to –huntrleaks/-R (at least one warmup run and one
repetition must be used).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32663">bpo-32663</a>: Making sure the <code class="xref py py-obj docutils literal notranslate"><span class="pre">SMTPUTF8SimTests</span></code> class of tests gets run in
test_smtplib.py.</p></li>
</ul>
</div>
<div class="section" id="id28">
<h3>Build<a class="headerlink" href="#id28" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34710">bpo-34710</a>: Fixed SSL module build with OpenSSL &amp; pedantic CFLAGS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34582">bpo-34582</a>: Add JUnit XML output for regression tests and update Azure
DevOps builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34121">bpo-34121</a>: Fix detection of C11 atomic support on clang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30345">bpo-30345</a>: Add -g to LDFLAGS when compiling with LTO to get debug symbols.</p></li>
</ul>
</div>
<div class="section" id="id29">
<h3>Windows<a class="headerlink" href="#id29" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34770">bpo-34770</a>: Fix a possible null pointer dereference in pyshellext.cpp.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34603">bpo-34603</a>: Fix returning structs from functions produced by MSVC</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34225">bpo-34225</a>: Ensure INCLUDE and LIB directories do not end with a backslash.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34006">bpo-34006</a>: Revert line length limit for Windows help docs. The line-length
limit is not needed because the pages appear in a separate app rather than
on a browser tab.  It can also interact badly with the DPI setting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31546">bpo-31546</a>: Restore running PyOS_InputHook while waiting for user input at
the prompt. The restores integration of interactive GUI windows (such as
Matplotlib figures) with the prompt on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30237">bpo-30237</a>: Output error when ReadConsole is canceled by
CancelSynchronousIo instead of crashing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29097">bpo-29097</a>: Fix bug where <code class="xref py py-meth docutils literal notranslate"><span class="pre">datetime.fromtimestamp()</span></code> erronously throws
an <a class="reference internal" href="../library/exceptions.html#OSError" title="OSError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">OSError</span></code></a> on Windows for values between 0 and 86400. Patch by
Ammar Askar.</p></li>
</ul>
</div>
<div class="section" id="id30">
<h3>macOS<a class="headerlink" href="#id30" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34370">bpo-34370</a>: Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a
development snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller
issues seen with IDLE and tkinter apps.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34405">bpo-34405</a>: Update to OpenSSL 1.0.2p for macOS installer builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31903">bpo-31903</a>: In <code class="xref py py-mod docutils literal notranslate"><span class="pre">_scproxy</span></code>, drop the GIL when calling into
<code class="docutils literal notranslate"><span class="pre">SystemConfiguration</span></code> to avoid deadlocks.</p></li>
</ul>
</div>
<div class="section" id="id31">
<h3>IDLE<a class="headerlink" href="#id31" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue34548">bpo-34548</a>: Use configured color theme for read-only text views.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1529353">bpo-1529353</a>: Enable “squeezing” of long outputs in the shell, to avoid
performance degradation and to clean up the history without losing it.
Squeezed outputs may be copied, viewed in a separate window, and
“unsqueezed”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34047">bpo-34047</a>: Fixed mousewheel scrolling direction on macOS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34275">bpo-34275</a>: Make IDLE calltips always visible on Mac. Some MacOS-tk
combinations need .update_idletasks(). Patch by Kevin Walzer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue34120">bpo-34120</a>: Fix unresponsiveness after closing certain windows and dialogs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33975">bpo-33975</a>: Avoid small type when running htests. Since part of the purpose
of human-viewed tests is to determine that widgets look right, it is
important that they look the same for testing as when running IDLE.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33905">bpo-33905</a>: Add test for idlelib.stackview.StackBrowser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33924">bpo-33924</a>: Change mainmenu.menudefs key ‘windows’ to ‘window’. Every other
menudef key is lowercase version of main menu entry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33906">bpo-33906</a>: Rename idlelib.windows as window Match Window on the main menu
and remove last plural module name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33917">bpo-33917</a>: Fix and document idlelib/idle_test/template.py. The revised
file compiles, runs, and tests OK.  idle_test/README.txt explains how to
use it to create new IDLE test files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33904">bpo-33904</a>: IDLE: In rstrip, rename class RstripExtension as Rstrip</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33907">bpo-33907</a>: For consistency and clarity, rename an IDLE module and classes.
Module calltips and its class CallTips are now calltip and Calltip. In
module calltip_w, class CallTip is now CalltipWindow.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33856">bpo-33856</a>: Add “help” in the welcome message of IDLE</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33839">bpo-33839</a>: IDLE: refactor ToolTip and CallTip and add documentation and
tests</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33855">bpo-33855</a>: Minimally test all IDLE modules. Add missing files, import
module, instantiate classes, and check coverage. Check existing files.</p></li>
</ul>
</div>
<div class="section" id="id32">
<h3>Tools/Demos<a class="headerlink" href="#id32" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: python-gdb now catches <code class="docutils literal notranslate"><span class="pre">UnicodeDecodeError</span></code> exceptions when
calling <code class="docutils literal notranslate"><span class="pre">string()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32962">bpo-32962</a>: python-gdb now catches ValueError on read_var(): when Python
has no debug symbols for example.</p></li>
</ul>
</div>
<div class="section" id="id33">
<h3>C API<a class="headerlink" href="#id33" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23927">bpo-23927</a>: Fixed <a class="reference internal" href="../library/exceptions.html#SystemError" title="SystemError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">SystemError</span></code></a> in
<a class="reference internal" href="../c-api/arg.html#c.PyArg_ParseTupleAndKeywords" title="PyArg_ParseTupleAndKeywords"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyArg_ParseTupleAndKeywords()</span></code></a> when the <code class="docutils literal notranslate"><span class="pre">w*</span></code> format unit is used
for optional parameter.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-6-final">
<h2>Python 3.6.6 final<a class="headerlink" href="#python-3-6-6-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-06-27</em></p>
<p>There were no new changes in version 3.6.6.</p>
</div>
<div class="section" id="python-3-6-6-release-candidate-1">
<h2>Python 3.6.6 release candidate 1<a class="headerlink" href="#python-3-6-6-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-06-11</em></p>
<div class="section" id="id34">
<h3>Core and Builtins<a class="headerlink" href="#id34" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33786">bpo-33786</a>: Fix asynchronous generators to handle GeneratorExit in athrow()
correctly</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30654">bpo-30654</a>: Fixed reset of the SIGINT handler to SIG_DFL on interpreter
shutdown even when there was a custom handler set previously. Patch by
Philipp Kerling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33622">bpo-33622</a>: Fixed a leak when the garbage collector fails to add an object
with the <code class="docutils literal notranslate"><span class="pre">__del__</span></code> method or referenced by it into the
<a class="reference internal" href="../library/gc.html#gc.garbage" title="gc.garbage"><code class="xref py py-data docutils literal notranslate"><span class="pre">gc.garbage</span></code></a> list. <code class="xref c c-func docutils literal notranslate"><span class="pre">PyGC_Collect()</span></code> can now be called when an
exception is set and preserves it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31849">bpo-31849</a>: Fix signed/unsigned comparison warning in pyhash.c.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33391">bpo-33391</a>: Fix a leak in set_symmetric_difference().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28055">bpo-28055</a>: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33231">bpo-33231</a>: Fix potential memory leak in <code class="docutils literal notranslate"><span class="pre">normalizestring()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29922">bpo-29922</a>: Improved error messages in ‘async with’ when <code class="docutils literal notranslate"><span class="pre">__aenter__()</span></code>
or <code class="docutils literal notranslate"><span class="pre">__aexit__()</span></code> return non-awaitable object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33199">bpo-33199</a>: Fix <code class="docutils literal notranslate"><span class="pre">ma_version_tag</span></code> in dict implementation is uninitialized
when copying from key-sharing dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33041">bpo-33041</a>: Fixed jumping when the function contains an <code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">for</span></code> loop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32282">bpo-32282</a>: Fix an unnecessary ifdef in the include of VersionHelpers.h in
socketmodule on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21983">bpo-21983</a>: Fix a crash in <a class="reference internal" href="../library/ctypes.html#ctypes.cast" title="ctypes.cast"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes.cast()</span></code></a> in case the type argument is a
ctypes structured data type. Patch by Eryk Sun and Oren Milman.</p></li>
</ul>
</div>
<div class="section" id="id35">
<h3>Library<a class="headerlink" href="#id35" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30167">bpo-30167</a>: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by
Steve Weber.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33812">bpo-33812</a>: Datetime instance d with non-None tzinfo, but with
d.tzinfo.utcoffset(d) returning None is now treated as naive by the
astimezone() method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30805">bpo-30805</a>: Avoid race condition with debug logging</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33767">bpo-33767</a>: The concatenation (<code class="docutils literal notranslate"><span class="pre">+</span></code>) and repetition (<code class="docutils literal notranslate"><span class="pre">*</span></code>) sequence
operations now raise <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a> instead of <a class="reference internal" href="../library/exceptions.html#SystemError" title="SystemError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">SystemError</span></code></a> when
performed on <a class="reference internal" href="../library/mmap.html#mmap.mmap" title="mmap.mmap"><code class="xref py py-class docutils literal notranslate"><span class="pre">mmap.mmap</span></code></a> objects.  Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32684">bpo-32684</a>: Fix gather to propagate cancellation of itself even with
return_exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33674">bpo-33674</a>: Fix a race condition in SSLProtocol.connection_made() of
asyncio.sslproto: start immediately the handshake instead of using
call_soon(). Previously, data_received() could be called before the
handshake started, causing the handshake to hang or fail.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31647">bpo-31647</a>: Fixed bug where calling write_eof() on a
_SelectorSocketTransport after it’s already closed raises AttributeError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33672">bpo-33672</a>: Fix Task.__repr__ crash with Cython’s bogus coroutines</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33469">bpo-33469</a>: Fix RuntimeError after closing loop that used run_in_executor</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11874">bpo-11874</a>: Use a better regex when breaking usage into wrappable parts.
Avoids bogus assertion errors from custom metavar strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30877">bpo-30877</a>: Fixed a bug in the Python implementation of the JSON decoder
that prevented the cache of parsed strings from clearing after finishing
the decoding. Based on patch by c-fos.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33548">bpo-33548</a>: tempfile._candidate_tempdir_list should consider common TEMP
locations</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33542">bpo-33542</a>: Prevent <code class="docutils literal notranslate"><span class="pre">uuid.get_node</span></code> from using a DUID instead of a MAC on
Windows. Patch by Zvi Effron</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26819">bpo-26819</a>: Fix race condition with <code class="xref py py-obj docutils literal notranslate"><span class="pre">ReadTransport.resume_reading</span></code> in
Windows proactor event loop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Minor fixes in typing module: add annotations to
<code class="docutils literal notranslate"><span class="pre">NamedTuple.__new__</span></code>, pass <code class="docutils literal notranslate"><span class="pre">*args</span></code> and <code class="docutils literal notranslate"><span class="pre">**kwds</span></code> in
<code class="docutils literal notranslate"><span class="pre">Generic.__new__</span></code>.  Original PRs by Paulius Šarka and Chad Dombrova.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20087">bpo-20087</a>: Updated alias mapping with glibc 2.27 supported locales.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33422">bpo-33422</a>: Fix trailing quotation marks getting deleted when looking up
byte/string literals on pydoc. Patch by Andrés Delfino.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33197">bpo-33197</a>: Update error message when constructing invalid
inspect.Parameters Patch by Dong-hee Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33383">bpo-33383</a>: Fixed crash in the get() method of the <a class="reference internal" href="../library/dbm.html#module-dbm.ndbm" title="dbm.ndbm: The standard &quot;database&quot; interface, based on ndbm. (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm.ndbm</span></code></a> database
object when it is called with a single argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33329">bpo-33329</a>: Fix multiprocessing regression on newer glibcs</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue991266">bpo-991266</a>: Fix quoting of the <code class="docutils literal notranslate"><span class="pre">Comment</span></code> attribute of
<a class="reference internal" href="../library/http.cookies.html#http.cookies.SimpleCookie" title="http.cookies.SimpleCookie"><code class="xref py py-class docutils literal notranslate"><span class="pre">http.cookies.SimpleCookie</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33131">bpo-33131</a>: Upgrade bundled version of pip to 10.0.1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33308">bpo-33308</a>: Fixed a crash in the <a class="reference internal" href="../library/parser.html#module-parser" title="parser: Access parse trees for Python source code."><code class="xref py py-mod docutils literal notranslate"><span class="pre">parser</span></code></a> module when converting an ST
object to a tree of tuples or lists with <code class="docutils literal notranslate"><span class="pre">line_info=False</span></code> and
<code class="docutils literal notranslate"><span class="pre">col_info=True</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33263">bpo-33263</a>: Fix FD leak in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_SelectorSocketTransport</span></code>  Patch by Vlad
Starostin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33256">bpo-33256</a>: Fix display of <code class="docutils literal notranslate"><span class="pre">&lt;module&gt;</span></code> call in the html produced by
<code class="docutils literal notranslate"><span class="pre">cgitb.html()</span></code>. Patch by Stéphane Blondon.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33203">bpo-33203</a>: <code class="docutils literal notranslate"><span class="pre">random.Random.choice()</span></code> now raises <code class="docutils literal notranslate"><span class="pre">IndexError</span></code> for empty
sequences consistently even when called from subclasses without a
<code class="docutils literal notranslate"><span class="pre">getrandbits()</span></code> implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33224">bpo-33224</a>: Update difflib.mdiff() for PEP 479.  Convert an uncaught
StopIteration in a generator into a return-statement.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33209">bpo-33209</a>: End framing at the end of C implementation of
<a class="reference internal" href="../library/pickle.html#pickle.Pickler.dump" title="pickle.Pickler.dump"><code class="xref py py-func docutils literal notranslate"><span class="pre">pickle.Pickler.dump()</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32861">bpo-32861</a>: The urllib.robotparser’s <code class="docutils literal notranslate"><span class="pre">__str__</span></code> representation now
includes wildcard entries and the “Crawl-delay” and “Request-rate” fields.
Patch by Michael Lazar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33096">bpo-33096</a>: Allow ttk.Treeview.insert to insert iid that has a false
boolean value. Note iid=0 and iid=False would be same. Patch by Garvit
Khatri.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33127">bpo-33127</a>: The ssl module now compiles with LibreSSL 2.7.1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33021">bpo-33021</a>: Release the GIL during fstat() calls, avoiding hang of all
threads when calling mmap.mmap(), os.urandom(), and random.seed().  Patch
by Nir Soffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27683">bpo-27683</a>: Fix a regression in <a class="reference internal" href="../library/ipaddress.html#module-ipaddress" title="ipaddress: IPv4/IPv6 manipulation library."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ipaddress</span></code></a> that result of
<code class="xref py py-meth docutils literal notranslate"><span class="pre">hosts()</span></code> is empty when the network is constructed by a tuple
containing an integer mask and only 1 bit left for addresses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32844">bpo-32844</a>: Fix wrong redirection of a low descriptor (0 or 1) to stderr in
subprocess if another low descriptor is closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31908">bpo-31908</a>: Fix output of cover files for <code class="docutils literal notranslate"><span class="pre">trace</span></code> module command-line
tool. Previously emitted cover files only when <code class="docutils literal notranslate"><span class="pre">--missing</span></code> option was
used. Patch by Michael Selik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: If nested log adapters are used, the inner <code class="docutils literal notranslate"><span class="pre">process()</span></code>
methods are no longer omitted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16865">bpo-16865</a>: Support arrays &gt;=2GiB in <a class="reference internal" href="../library/ctypes.html#module-ctypes" title="ctypes: A foreign function library for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ctypes</span></code></a>.  Patch by Segev Finer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31238">bpo-31238</a>: pydoc: the stop() method of the private ServerThread class now
waits until DocServer.serve_until_quit() completes and then explicitly
sets its docserver attribute to None to break a reference cycle.</p></li>
</ul>
</div>
<div class="section" id="id36">
<h3>Documentation<a class="headerlink" href="#id36" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33503">bpo-33503</a>: Fix broken pypi link</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33421">bpo-33421</a>: Add missing documentation for <code class="docutils literal notranslate"><span class="pre">typing.AsyncContextManager</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33378">bpo-33378</a>: Add Korean language switcher for <a class="reference external" href="https://docs.python.org/3/">https://docs.python.org/3/</a></p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33276">bpo-33276</a>: Clarify that the <code class="docutils literal notranslate"><span class="pre">__path__</span></code> attribute on modules cannot be
just any value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33201">bpo-33201</a>: Modernize documentation for writing C extension types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33195">bpo-33195</a>: Deprecate <code class="docutils literal notranslate"><span class="pre">Py_UNICODE</span></code> usage in <code class="docutils literal notranslate"><span class="pre">c-api/arg</span></code> document.
<code class="docutils literal notranslate"><span class="pre">Py_UNICODE</span></code> related APIs are deprecated since Python 3.3, but it is
missed in the document.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33126">bpo-33126</a>: Document PyBuffer_ToContiguous().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27212">bpo-27212</a>: Modify documentation for the <code class="xref py py-func docutils literal notranslate"><span class="pre">islice()</span></code> recipe to consume
initial values up to the start index.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28247">bpo-28247</a>: Update <a class="reference internal" href="../library/zipapp.html#module-zipapp" title="zipapp: Manage executable python zip archives"><code class="xref py py-mod docutils literal notranslate"><span class="pre">zipapp</span></code></a> documentation to describe how to make
standalone applications.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18802">bpo-18802</a>: Documentation changes for ipaddress.  Patch by Jon Foster and
Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27428">bpo-27428</a>: Update documentation to clarify that <code class="docutils literal notranslate"><span class="pre">WindowsRegistryFinder</span></code>
implements <code class="docutils literal notranslate"><span class="pre">MetaPathFinder</span></code>. (Patch by Himanshu Lakhara)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8243">bpo-8243</a>: Add a note about curses.addch and curses.addstr exception
behavior when writing outside a window, or pad.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31432">bpo-31432</a>: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED
flags for ssl.SSLContext.verify_mode.</p></li>
</ul>
</div>
<div class="section" id="id37">
<h3>Tests<a class="headerlink" href="#id37" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33655">bpo-33655</a>: Ignore test_posix_fallocate failures on BSD platforms that
might be due to running on ZFS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19417">bpo-19417</a>: Add test_bdb.py.</p></li>
</ul>
</div>
<div class="section" id="id38">
<h3>Build<a class="headerlink" href="#id38" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue5755">bpo-5755</a>: Move <code class="docutils literal notranslate"><span class="pre">-Wstrict-prototypes</span></code> option to <code class="docutils literal notranslate"><span class="pre">CFLAGS_NODIST</span></code> from
<code class="docutils literal notranslate"><span class="pre">OPT</span></code>. This option emitted annoying warnings when building extension
modules written in C++.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33614">bpo-33614</a>: Ensures module definition files for the stable ABI on Windows
are correctly regenerated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33522">bpo-33522</a>: Enable CI builds on Visual Studio Team Services at
<a class="reference external" href="https://python.visualstudio.com/cpython">https://python.visualstudio.com/cpython</a></p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33012">bpo-33012</a>: Add <code class="docutils literal notranslate"><span class="pre">-Wno-cast-function-type</span></code> for gcc 8 for silencing
warnings about function casts like casting to PyCFunction in method
definition lists.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33394">bpo-33394</a>: Enable the verbose build for extension modules, when GNU make
is passed macros on the command line.</p></li>
</ul>
</div>
<div class="section" id="id39">
<h3>Windows<a class="headerlink" href="#id39" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update Windows installer to OpenSSL 1.0.2o.</p></li>
</ul>
</div>
<div class="section" id="id40">
<h3>macOS<a class="headerlink" href="#id40" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33184">bpo-33184</a>: Update macOS installer build to use OpenSSL 1.0.2o.</p></li>
</ul>
</div>
<div class="section" id="id41">
<h3>IDLE<a class="headerlink" href="#id41" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33656">bpo-33656</a>: On Windows, add API call saying that tk scales for DPI. On
Windows 8.1+ or 10, with DPI compatibility properties of the Python binary
unchanged, and a monitor resolution greater than 96 DPI, this should make
text and lines sharper.  It should otherwise have no effect.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33768">bpo-33768</a>: Clicking on a context line moves that line to the top of the
editor window.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33763">bpo-33763</a>: IDLE: Use read-only text widget for code context instead of
label widget.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33664">bpo-33664</a>: Scroll IDLE editor text by lines. Previously, the mouse wheel
and scrollbar slider moved text by a fixed number of pixels, resulting in
partial lines at the top of the editor box.  The change also applies to
the shell and grep output windows, but not to read-only text views.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33679">bpo-33679</a>: Enable theme-specific color configuration for Code Context. Use
the Highlights tab to see the setting for built-in themes or add settings
to custom themes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33642">bpo-33642</a>: Display up to maxlines non-blank lines for Code Context. If
there is no current context, show a single blank line.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33628">bpo-33628</a>: IDLE: Cleanup codecontext.py and its test.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33564">bpo-33564</a>: IDLE’s code context now recognizes async as a block opener.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29706">bpo-29706</a>: IDLE now colors async and await as keywords in 3.6. They become
full keywords in 3.7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21474">bpo-21474</a>: Update word/identifier definition from ascii to unicode. In
text and entry boxes, this affects selection by double-click, movement
left/right by control-left/right, and deletion left/right by
control-BACKSPACE/DEL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33204">bpo-33204</a>: IDLE: consistently color invalid string prefixes. A ‘u’ string
prefix cannot be paired with either ‘r’ or ‘f’. Consistently color as much
of the prefix, starting at the right, as is valid. Revise and extend
colorizer test.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32831">bpo-32831</a>: Add docstrings and tests for codecontext.</p></li>
</ul>
</div>
<div class="section" id="id42">
<h3>Tools/Demos<a class="headerlink" href="#id42" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33189">bpo-33189</a>: <strong class="program">pygettext.py</strong> now recognizes only literal strings as
docstrings and translatable strings, and rejects bytes literals and
f-string expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31920">bpo-31920</a>: Fixed handling directories as arguments in the <code class="docutils literal notranslate"><span class="pre">pygettext</span></code>
script. Based on patch by Oleg Krasnikov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29673">bpo-29673</a>: Fix pystackv and pystack gdbinit macros.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32885">bpo-32885</a>: Add an <code class="docutils literal notranslate"><span class="pre">-n</span></code> flag for <code class="docutils literal notranslate"><span class="pre">Tools/scripts/pathfix.py</span></code> to disable
automatic backup creation (files with <code class="docutils literal notranslate"><span class="pre">~</span></code> suffix).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31583">bpo-31583</a>: Fix 2to3 for using with –add-suffix option but without
–output-dir option for relative path to files in current directory.</p></li>
</ul>
</div>
<div class="section" id="id43">
<h3>C API<a class="headerlink" href="#id43" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32374">bpo-32374</a>: Document that m_traverse for multi-phase initialized modules
can be called with m_state=NULL, and add a sanity check</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-5-final">
<h2>Python 3.6.5 final<a class="headerlink" href="#python-3-6-5-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-03-28</em></p>
<div class="section" id="id44">
<h3>Tests<a class="headerlink" href="#id44" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32872">bpo-32872</a>: Avoid regrtest compatibility issue with namespace packages.</p></li>
</ul>
</div>
<div class="section" id="id45">
<h3>Build<a class="headerlink" href="#id45" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33163">bpo-33163</a>: Upgrade pip to 9.0.3 and setuptools to v39.0.1.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-5-release-candidate-1">
<h2>Python 3.6.5 release candidate 1<a class="headerlink" href="#python-3-6-5-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2018-03-13</em></p>
<div class="section" id="id46">
<h3>Security<a class="headerlink" href="#id46" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33001">bpo-33001</a>: Minimal fix to prevent buffer overrun in os.symlink on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32981">bpo-32981</a>: Regexes in difflib and poplib were vulnerable to catastrophic
backtracking. These regexes formed potential DOS vectors (REDOS). They
have been refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch
by Jamie Davis.</p></li>
</ul>
</div>
<div class="section" id="id47">
<h3>Core and Builtins<a class="headerlink" href="#id47" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33026">bpo-33026</a>: Fixed jumping out of “with” block by setting f_lineno.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17288">bpo-17288</a>: Prevent jumps from ‘return’ and ‘exception’ trace events.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32889">bpo-32889</a>: Update Valgrind suppression list to account for the rename of
<code class="docutils literal notranslate"><span class="pre">Py_ADDRESS_IN_RANG</span></code> to <code class="docutils literal notranslate"><span class="pre">address_in_range</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32650">bpo-32650</a>: Pdb and other debuggers dependent on bdb.py will correctly step
over (next command) native coroutines. Patch by Pablo Galindo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32685">bpo-32685</a>: Improve suggestion when the Python 2 form of print statement is
either present on the same line as the header of a compound statement or
else terminated by a semi-colon instead of a newline. Patch by Nitish
Chandra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32583">bpo-32583</a>: Fix possible crashing in builtin Unicode decoders caused by
write out-of-bound errors when using customized decode error handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26163">bpo-26163</a>: Improved frozenset() hash to create more distinct hash values
when faced with datasets containing many similar values.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27169">bpo-27169</a>: The <code class="docutils literal notranslate"><span class="pre">__debug__</span></code> constant is now optimized out at compile
time. This fixes also <a class="reference external" href="https://bugs.python.org/issue22091">bpo-22091</a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32329">bpo-32329</a>: <code class="docutils literal notranslate"><span class="pre">sys.flags.hash_randomization</span></code> is now properly set to 0 when
hash randomization is turned off by <code class="docutils literal notranslate"><span class="pre">PYTHONHASHSEED=0</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30416">bpo-30416</a>: The optimizer is now protected from spending much time doing
complex calculations and consuming much memory for creating large
constants in constant folding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18533">bpo-18533</a>: <code class="docutils literal notranslate"><span class="pre">repr()</span></code> on a dict containing its own <code class="docutils literal notranslate"><span class="pre">values()</span></code> or
<code class="docutils literal notranslate"><span class="pre">items()</span></code> no longer raises <code class="docutils literal notranslate"><span class="pre">RecursionError</span></code>; OrderedDict similarly.
Instead, use <code class="docutils literal notranslate"><span class="pre">...</span></code>, as for other recursive structures.  Patch by Ben
North.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32028">bpo-32028</a>: Leading whitespace is now correctly ignored when generating
suggestions for converting Py2 print statements to Py3 builtin print
function calls. Patch by Sanyam Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32137">bpo-32137</a>: The repr of deeply nested dict now raises a RecursionError
instead of crashing due to a stack overflow.</p></li>
</ul>
</div>
<div class="section" id="id48">
<h3>Library<a class="headerlink" href="#id48" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue33064">bpo-33064</a>: lib2to3 now properly supports trailing commas after <code class="docutils literal notranslate"><span class="pre">*args</span></code>
and <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code> in function signatures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31804">bpo-31804</a>: Avoid failing in multiprocessing.Process if the standard
streams are closed or None at exit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33037">bpo-33037</a>: Skip sending/receiving data after SSL transport closing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30353">bpo-30353</a>: Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue33009">bpo-33009</a>: Fix inspect.signature() for single-parameter partialmethods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32969">bpo-32969</a>: Expose several missing constants in zlib and fix corresponding
documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32713">bpo-32713</a>: Fixed tarfile.itn handling of out-of-bounds float values. Patch
by Joffrey Fuhrer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30622">bpo-30622</a>: The ssl module now detects missing NPN support in LibreSSL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32922">bpo-32922</a>: dbm.open() now encodes filename with the filesystem encoding
rather than default encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32859">bpo-32859</a>: In <code class="docutils literal notranslate"><span class="pre">os.dup2</span></code>, don’t check every call whether the <code class="docutils literal notranslate"><span class="pre">dup3</span></code>
syscall exists or not.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21060">bpo-21060</a>: Rewrite confusing message from setup.py upload from “No dist
file created in earlier command” to the more helpful “Must create and
upload files in one command”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32857">bpo-32857</a>: In <a class="reference internal" href="../library/tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter</span></code></a>, <code class="docutils literal notranslate"><span class="pre">after_cancel(None)</span></code> now raises a
<a class="reference internal" href="../library/exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> instead of canceling the first scheduled function.
Patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32852">bpo-32852</a>: Make sure sys.argv remains as a list when running trace.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32841">bpo-32841</a>: Fixed <a class="reference internal" href="../library/asyncio-sync.html#asyncio.Condition" title="asyncio.Condition"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.Condition</span></code></a> issue which silently ignored
cancellation after notifying and cancelling a conditional lock. Patch by
Bar Harel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31787">bpo-31787</a>: Fixed refleaks of <code class="docutils literal notranslate"><span class="pre">__init__()</span></code> methods in various modules.
(Contributed by Oren Milman)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30157">bpo-30157</a>: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when
only the last field is quoted.  Patch by Jake Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32394">bpo-32394</a>: socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version
Windows during run-time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32777">bpo-32777</a>: Fix a rare but potential pre-exec child process deadlock in
subprocess on POSIX systems when marking file descriptors inheritable on
exec in the child process.  This bug appears to have been introduced in
3.4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32647">bpo-32647</a>: The ctypes module used to depend on indirect linking for
dlopen. The shared extension is now explicitly linked against libdl on
platforms with dl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32734">bpo-32734</a>: Fixed <code class="docutils literal notranslate"><span class="pre">asyncio.Lock()</span></code> safety issue which allowed acquiring
and locking the same lock multiple times, without it being free. Patch by
Bar Harel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32727">bpo-32727</a>: Do not include name field in SMTP envelope from address. Patch
by Stéphane Wirtel</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27931">bpo-27931</a>: Fix email address header parsing error when the username is an
empty quoted string. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32304">bpo-32304</a>: distutils’ upload command no longer corrupts tar files ending
with a CR byte, and no longer tries to convert CR to CRLF in any of the
upload text fields.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32502">bpo-32502</a>: uuid.uuid1 no longer raises an exception if a 64-bit hardware
address is encountered.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31848">bpo-31848</a>: Fix the error handling in Aifc_read.initfp() when the SSND
chunk is not found. Patch by Zackery Spytz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32555">bpo-32555</a>: On FreeBSD and Solaris, os.strerror() now always decode the
byte string from the current locale encoding, rather than using
ASCII/surrogateescape in some cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32521">bpo-32521</a>: The nis module is now compatible with new libnsl and headers
location.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32473">bpo-32473</a>: Improve ABCMeta._dump_registry() output readability</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32521">bpo-32521</a>: glibc has removed Sun RPC. Use replacement libtirpc headers and
library in nis module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32228">bpo-32228</a>: Ensure that <code class="docutils literal notranslate"><span class="pre">truncate()</span></code> preserves the file position (as
reported by <code class="docutils literal notranslate"><span class="pre">tell()</span></code>) after writes longer than the buffer size.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26133">bpo-26133</a>: Don’t unsubscribe signals in asyncio UNIX event loop on
interpreter shutdown.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32185">bpo-32185</a>: The SSL module no longer sends IP addresses in SNI TLS
extension on platforms with OpenSSL 1.0.2+ or inet_pton.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32323">bpo-32323</a>: <a class="reference internal" href="../library/urllib.parse.html#urllib.parse.urlsplit" title="urllib.parse.urlsplit"><code class="xref py py-func docutils literal notranslate"><span class="pre">urllib.parse.urlsplit()</span></code></a> does not convert zone-id
(scope) to lower case for scoped IPv6 addresses in hostnames now.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32302">bpo-32302</a>: Fix bdist_wininst of distutils for CRT v142: it binary
compatible with CRT v140.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32255">bpo-32255</a>: A single empty field is now always quoted when written into a
CSV file. This allows to distinguish an empty row from a row consisting of
a single empty field. Patch by Licht Takeuchi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32277">bpo-32277</a>: Raise <code class="docutils literal notranslate"><span class="pre">NotImplementedError</span></code> instead of <code class="docutils literal notranslate"><span class="pre">SystemError</span></code> on
platforms where <code class="docutils literal notranslate"><span class="pre">chmod(...,</span> <span class="pre">follow_symlinks=False)</span></code> is not supported.
Patch by Anthony Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32199">bpo-32199</a>: The getnode() ip getter now uses ‘ip link’ instead of ‘ip link
list’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31900">bpo-31900</a>: The <a class="reference internal" href="../library/locale.html#locale.localeconv" title="locale.localeconv"><code class="xref py py-func docutils literal notranslate"><span class="pre">locale.localeconv()</span></code></a> function now sets temporarily the
<code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> locale to the <code class="docutils literal notranslate"><span class="pre">LC_NUMERIC</span></code> locale to decode
<code class="docutils literal notranslate"><span class="pre">decimal_point</span></code> and <code class="docutils literal notranslate"><span class="pre">thousands_sep</span></code> byte strings if they are non-ASCII
or longer than 1 byte, and the <code class="docutils literal notranslate"><span class="pre">LC_NUMERIC</span></code> locale is different than the
<code class="docutils literal notranslate"><span class="pre">LC_CTYPE</span></code> locale. This temporary change affects other threads.</p>
<p>Same change for the <a class="reference internal" href="../library/stdtypes.html#str.format" title="str.format"><code class="xref py py-meth docutils literal notranslate"><span class="pre">str.format()</span></code></a> method when formatting a number
(<a class="reference internal" href="../library/functions.html#int" title="int"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>, <a class="reference internal" href="../library/functions.html#float" title="float"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>, <a class="reference internal" href="../library/functions.html#float" title="float"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> and subclasses) with the
<code class="docutils literal notranslate"><span class="pre">n</span></code> type (ex: <code class="docutils literal notranslate"><span class="pre">'{:n}'.format(1234)</span></code>).</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31802">bpo-31802</a>: Importing native path module (<code class="docutils literal notranslate"><span class="pre">posixpath</span></code>, <code class="docutils literal notranslate"><span class="pre">ntpath</span></code>) now
works even if the <code class="docutils literal notranslate"><span class="pre">os</span></code> module still is not imported.</p></li>
</ul>
</div>
<div class="section" id="id49">
<h3>Documentation<a class="headerlink" href="#id49" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue17232">bpo-17232</a>: Clarify docs for -O and -OO.  Patch by Terry Reedy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32800">bpo-32800</a>: Update link to w3c doc for xml default namespaces.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8722">bpo-8722</a>: Document <a class="reference internal" href="../reference/datamodel.html#object.__getattr__" title="object.__getattr__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__getattr__()</span></code></a> behavior when property <code class="xref py py-meth docutils literal notranslate"><span class="pre">get()</span></code>
method raises <a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32614">bpo-32614</a>: Modify RE examples in documentation to use raw strings to
prevent <a class="reference internal" href="../library/exceptions.html#DeprecationWarning" title="DeprecationWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">DeprecationWarning</span></code></a> and add text to REGEX HOWTO to highlight
the deprecation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31972">bpo-31972</a>: Improve docstrings for <a class="reference internal" href="../library/pathlib.html#pathlib.PurePath" title="pathlib.PurePath"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pathlib.PurePath</span></code></a> subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17799">bpo-17799</a>: Explain real behaviour of sys.settrace and sys.setprofile and
their C-API counterparts regarding which type of events are received in
each function. Patch by Pablo Galindo Salgado.</p></li>
</ul>
</div>
<div class="section" id="id50">
<h3>Tests<a class="headerlink" href="#id50" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32517">bpo-32517</a>: Fix failing <code class="docutils literal notranslate"><span class="pre">test_asyncio</span></code> on macOS 10.12.2+ due to transport
of <code class="docutils literal notranslate"><span class="pre">KqueueSelector</span></code> loop was not being closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32721">bpo-32721</a>: Fix test_hashlib to not fail if the _md5 module is not built.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32252">bpo-32252</a>: Fix faulthandler_suppress_crash_report() used to prevent core
dump files when testing crashes. getrlimit() returns zero on success.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31518">bpo-31518</a>: Debian Unstable has disabled TLS 1.0 and 1.1 for
SSLv23_METHOD(). Change TLS/SSL protocol of some tests to PROTOCOL_TLS or
PROTOCOL_TLSv1_2 to make them pass on Debian.</p></li>
</ul>
</div>
<div class="section" id="id51">
<h3>Build<a class="headerlink" href="#id51" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32635">bpo-32635</a>: Fix segfault of the crypt module when libxcrypt is provided
instead of libcrypt at the system.</p></li>
</ul>
</div>
<div class="section" id="id52">
<h3>Windows<a class="headerlink" href="#id52" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue33016">bpo-33016</a>: Fix potential use of uninitialized memory in
nt._getfinalpathname</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32903">bpo-32903</a>: Fix a memory leak in os.chdir() on Windows if the current
directory is set to a UNC path.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31966">bpo-31966</a>: Fixed WindowsConsoleIO.write() for writing empty data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32409">bpo-32409</a>: Ensures activate.bat can handle Unicode contents.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32457">bpo-32457</a>: Improves handling of denormalized executable path when
launching Python.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32370">bpo-32370</a>: Use the correct encoding for ipconfig output in the uuid
module. Patch by Segev Finer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29248">bpo-29248</a>: Fix <a class="reference internal" href="../library/os.html#os.readlink" title="os.readlink"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.readlink()</span></code></a> on Windows, which was mistakenly
treating the <code class="docutils literal notranslate"><span class="pre">PrintNameOffset</span></code> field of the reparse data buffer as a
number of characters instead of bytes. Patch by Craig Holmquist and SSE4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32588">bpo-32588</a>: Create standalone _distutils_findvs module.</p></li>
</ul>
</div>
<div class="section" id="id53">
<h3>macOS<a class="headerlink" href="#id53" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32726">bpo-32726</a>: Provide an additional, more modern macOS installer variant that
supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied
third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The
10.9+ installer now links with and supplies its own copy of Tcl/Tk 8.6.8.</p></li>
</ul>
</div>
<div class="section" id="id54">
<h3>IDLE<a class="headerlink" href="#id54" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32984">bpo-32984</a>: Set <code class="docutils literal notranslate"><span class="pre">__file__</span></code> while running a startup file.  Like Python,
IDLE optionally runs one startup file in the Shell window before
presenting the first interactive input prompt.  For IDLE, <code class="docutils literal notranslate"><span class="pre">-s</span></code> runs a
file named in environmental variable  <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">IDLESTARTUP</span></code> or
<span class="target" id="index-2"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONSTARTUP"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONSTARTUP</span></code></a>; <code class="docutils literal notranslate"><span class="pre">-r</span> <span class="pre">file</span></code> runs <code class="docutils literal notranslate"><span class="pre">file</span></code>.  Python sets
<code class="docutils literal notranslate"><span class="pre">__file__</span></code> to the startup file name before running the file and unsets
it before the first prompt.  IDLE now does the same when run normally,
without the <code class="docutils literal notranslate"><span class="pre">-n</span></code> option.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32940">bpo-32940</a>: Simplify and rename StringTranslatePseudoMapping in pyparse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32916">bpo-32916</a>: Change <code class="docutils literal notranslate"><span class="pre">str</span></code> to <code class="docutils literal notranslate"><span class="pre">code</span></code> in pyparse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32905">bpo-32905</a>: Remove unused code in pyparse module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32874">bpo-32874</a>: Add tests for pyparse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32837">bpo-32837</a>: Using the system and place-dependent default encoding for
open() is a bad idea for IDLE’s system and location-independent files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32826">bpo-32826</a>: Add “encoding=utf-8” to open() in IDLE’s test_help_about. GUI
test test_file_buttons() only looks at initial ascii-only lines, but
failed on systems where open() defaults to ‘ascii’ because readline()
internally reads and decodes far enough ahead to encounter a non-ascii
character in CREDITS.txt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32765">bpo-32765</a>: Update configdialog General tab docstring to add new widgets to
the widget list.</p></li>
</ul>
</div>
<div class="section" id="id55">
<h3>Tools/Demos<a class="headerlink" href="#id55" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24960">bpo-24960</a>: 2to3 and lib2to3 can now read pickled grammar files using
pkgutil.get_data() rather than probing the filesystem. This lets 2to3 and
lib2to3 work when run from a zipfile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32222">bpo-32222</a>: Fix pygettext not extracting docstrings for functions with type
annotated arguments. Patch by Toby Harradine.</p></li>
</ul>
</div>
<div class="section" id="id56">
<h3>C API<a class="headerlink" href="#id56" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29084">bpo-29084</a>: Undocumented C API for OrderedDict has been excluded from the
limited C API. It was added by mistake and actually never worked in the
limited C API.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-4-final">
<h2>Python 3.6.4 final<a class="headerlink" href="#python-3-6-4-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-12-18</em></p>
<p>There were no new code changes in version 3.6.4 since v3.6.4rc1.</p>
</div>
<div class="section" id="python-3-6-4-release-candidate-1">
<h2>Python 3.6.4 release candidate 1<a class="headerlink" href="#python-3-6-4-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-12-05</em></p>
<div class="section" id="id57">
<h3>Core and Builtins<a class="headerlink" href="#id57" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32176">bpo-32176</a>: co_flags.CO_NOFREE is now always set correctly by the code
object constructor based on freevars and cellvars, rather than needing to
be set correctly by the caller. This ensures it will be cleared
automatically when additional cell references are injected into a modified
code object and function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31949">bpo-31949</a>: Fixed several issues in printing tracebacks
(PyTraceBack_Print()).</p>
<ul>
<li><p>Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.</p></li>
<li><p>Setting sys.tracebacklimit to None now causes using the default limit.</p></li>
<li><p>Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
the limit LONG_MAX rather than the default limit.</p></li>
<li><p>Fixed integer overflows in the case of more than 2**31 traceback items on
Windows.</p></li>
<li><p>Fixed output errors handling.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30696">bpo-30696</a>: Fix the interactive interpreter looping endlessly when no
memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20047">bpo-20047</a>: Bytearray methods partition() and rpartition() now accept only
bytes-like objects as separator, as documented.  In particular they now
raise TypeError rather of returning a bogus result when an integer is
passed as a separator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31852">bpo-31852</a>: Fix a segmentation fault caused by a combination of the async
soft keyword and continuation lines.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21720">bpo-21720</a>: BytesWarning no longer emitted when the <em>fromlist</em> argument of
<code class="docutils literal notranslate"><span class="pre">__import__()</span></code> or the <code class="docutils literal notranslate"><span class="pre">__all__</span></code> attribute of the module contain bytes
instances.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31825">bpo-31825</a>: Fixed OverflowError in the ‘unicode-escape’ codec and in
codecs.escape_decode() when decode an escaped non-ascii byte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28603">bpo-28603</a>: Print the full context/cause chain of exceptions on interpreter
exit, even if an exception in the chain is unhashable or compares equal to
later ones. Patch by Zane Bitter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31786">bpo-31786</a>: Fix timeout rounding in the select module to round correctly
negative timeouts between -1.0 and 0.0. The functions now block waiting
for events as expected. Previously, the call was incorrectly non-blocking.
Patch by Pablo Galindo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31642">bpo-31642</a>: Restored blocking “from package import module” by setting
sys.modules[“package.module”] to None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31626">bpo-31626</a>: Fixed a bug in debug memory allocator.  There was a write to
freed memory after shrinking a memory block.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31619">bpo-31619</a>: Fixed a ValueError when convert a string with large number of
underscores to integer with binary base.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31592">bpo-31592</a>: Fixed an assertion failure in Python parser in case of a bad
<a class="reference internal" href="../library/unicodedata.html#unicodedata.normalize" title="unicodedata.normalize"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unicodedata.normalize()</span></code></a>. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31588">bpo-31588</a>: Raise a <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">TypeError</span></code></a> with a helpful error message when class
creation fails due to a metaclass with a bad <code class="docutils literal notranslate"><span class="pre">__prepare__()</span></code> method.
Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31566">bpo-31566</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_warnings.warn()</span></code> in case of a bad
<code class="docutils literal notranslate"><span class="pre">__name__</span></code> global. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31505">bpo-31505</a>: Fix an assertion failure in <a class="reference internal" href="../library/json.html#module-json" title="json: Encode and decode the JSON format."><code class="xref py py-obj docutils literal notranslate"><span class="pre">json</span></code></a>, in case
<code class="xref py py-obj docutils literal notranslate"><span class="pre">_json.make_encoder()</span></code> received a bad <code class="xref py py-obj docutils literal notranslate"><span class="pre">encoder()</span></code> argument. Patch by Oren
Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31492">bpo-31492</a>: Fix assertion failures in case of failing to import from a
module with a bad <code class="docutils literal notranslate"><span class="pre">__name__</span></code> attribute, and in case of failing to access
an attribute of such a module. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31490">bpo-31490</a>: Fix an assertion failure in <a class="reference internal" href="../library/ctypes.html#module-ctypes" title="ctypes: A foreign function library for Python."><code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes</span></code></a> class definition, in case
the class has an attribute whose name is specified in <code class="docutils literal notranslate"><span class="pre">_anonymous_</span></code> but
not in <code class="docutils literal notranslate"><span class="pre">_fields_</span></code>. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31478">bpo-31478</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_random.Random.seed()</span></code> in case the
argument has a bad <code class="docutils literal notranslate"><span class="pre">__abs__()</span></code> method. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31315">bpo-31315</a>: Fix an assertion failure in imp.create_dynamic(), when
spec.name is not a string. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31311">bpo-31311</a>: Fix a crash in the <code class="docutils literal notranslate"><span class="pre">__setstate__()</span></code> method of
<a class="reference internal" href="../library/ctypes.html#ctypes._CData" title="ctypes._CData"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes._CData</span></code></a>, in case of a bad <code class="docutils literal notranslate"><span class="pre">__dict__</span></code>. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31293">bpo-31293</a>: Fix crashes in true division and multiplication of a timedelta
object by a float with a bad as_integer_ratio() method. Patch by Oren
Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31285">bpo-31285</a>: Fix an assertion failure in <a class="reference internal" href="../library/warnings.html#warnings.warn_explicit" title="warnings.warn_explicit"><code class="xref py py-obj docutils literal notranslate"><span class="pre">warnings.warn_explicit</span></code></a>, when the
return value of the received loader’s get_source() has a bad splitlines()
method. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30817">bpo-30817</a>: <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_PrintEx()</span></code> clears now the ignored exception that may be
raised by <code class="xref py py-obj docutils literal notranslate"><span class="pre">_PySys_SetObjectId()</span></code>, for example when no memory.</p></li>
</ul>
</div>
<div class="section" id="id58">
<h3>Library<a class="headerlink" href="#id58" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Two minor fixes for <code class="docutils literal notranslate"><span class="pre">typing</span></code> module: allow shallow copying
instances of generic classes, improve interaction of <code class="docutils literal notranslate"><span class="pre">__init_subclass__</span></code>
with generics. Original PRs by Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27240">bpo-27240</a>: The header folding algorithm for the new email policies has
been rewritten, which also fixes <a class="reference external" href="https://bugs.python.org/issue30788">bpo-30788</a>, <a class="reference external" href="https://bugs.python.org/issue31831">bpo-31831</a>, and <a class="reference external" href="https://bugs.python.org/issue32182">bpo-32182</a>.  In
particular, RFC2231 folding is now done correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32186">bpo-32186</a>: io.FileIO.readall() and io.FileIO.read() now release the GIL
when getting the file size. Fixed hang of all threads with inaccessible
NFS server. Patch by Nir Soffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12239">bpo-12239</a>: Make <a class="reference internal" href="../library/msilib.html#msilib.SummaryInformation.GetProperty" title="msilib.SummaryInformation.GetProperty"><code class="xref py py-meth docutils literal notranslate"><span class="pre">msilib.SummaryInformation.GetProperty()</span></code></a> return
<code class="docutils literal notranslate"><span class="pre">None</span></code> when the value of property is <code class="docutils literal notranslate"><span class="pre">VT_EMPTY</span></code>.  Initial patch by
Mark Mc Mahon.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31325">bpo-31325</a>: Fix wrong usage of <a class="reference internal" href="../library/collections.html#collections.namedtuple" title="collections.namedtuple"><code class="xref py py-func docutils literal notranslate"><span class="pre">collections.namedtuple()</span></code></a> in the
<a class="reference internal" href="../library/urllib.robotparser.html#urllib.robotparser.RobotFileParser.parse" title="urllib.robotparser.RobotFileParser.parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">RobotFileParser.parse()</span></code></a>
method.</p>
<p>Initial patch by Robin Wellner.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12382">bpo-12382</a>: <a class="reference internal" href="../library/msilib.html#msilib.OpenDatabase" title="msilib.OpenDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">msilib.OpenDatabase()</span></code></a> now raises a better exception
message when it couldn’t open or create an MSI file.  Initial patch by
William Tisäter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32110">bpo-32110</a>: <code class="docutils literal notranslate"><span class="pre">codecs.StreamReader.read(n)</span></code> now returns not more than <em>n</em>
characters/bytes for non-negative <em>n</em>. This makes it compatible with
<code class="docutils literal notranslate"><span class="pre">read()</span></code> methods of other file-like objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32072">bpo-32072</a>: Fixed issues with binary plists:</p>
<ul class="simple">
<li><p>Fixed saving bytearrays.</p></li>
<li><p>Identical objects will be saved only once.</p></li>
<li><p>Equal references will be load as identical objects.</p></li>
<li><p>Added support for saving and loading recursive data structures.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32034">bpo-32034</a>: Make asyncio.IncompleteReadError and LimitOverrunError
pickleable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32015">bpo-32015</a>: Fixed the looping of asyncio in the case of reconnection the
socket during waiting async read/write from/to the socket.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32011">bpo-32011</a>: Restored support of loading marshal files with the TYPE_INT64
code. These files can be produced in Python 2.7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31970">bpo-31970</a>: Reduce performance overhead of asyncio debug mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9678">bpo-9678</a>: Fixed determining the MAC address in the uuid module:</p>
<ul class="simple">
<li><p>Using ifconfig on NetBSD and OpenBSD.</p></li>
<li><p>Using arp on Linux, FreeBSD, NetBSD and OpenBSD.</p></li>
</ul>
<p>Based on patch by Takayuki Shimizukawa.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30057">bpo-30057</a>: Fix potential missed signal in signal.signal().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31933">bpo-31933</a>: Fix Blake2 params leaf_size and node_offset on big endian
platforms. Patch by Jack O’Connor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31927">bpo-31927</a>: Fixed compilation of the socket module on NetBSD 8.  Fixed
assertion failure or reading arbitrary data when parse a AF_BLUETOOTH
address on NetBSD and DragonFly BSD.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27666">bpo-27666</a>: Fixed stack corruption in curses.box() and curses.ungetmouse()
when the size of types chtype or mmask_t is less than the size of C long.
curses.box() now accepts characters as arguments.  Based on patch by Steve
Fink.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31897">bpo-31897</a>: plistlib now catches more errors when read binary plists and
raises InvalidFileException instead of unexpected exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25720">bpo-25720</a>: Fix the method for checking pad state of curses WINDOW. Patch
by Masayuki Yamamoto.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31893">bpo-31893</a>: Fixed the layout of the kqueue_event structure on OpenBSD and
NetBSD. Fixed the comparison of the kqueue_event objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31891">bpo-31891</a>: Fixed building the curses module on NetBSD.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28416">bpo-28416</a>: Instances of pickle.Pickler subclass with the persistent_id()
method and pickle.Unpickler subclass with the persistent_load() method no
longer create reference cycles.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28326">bpo-28326</a>: Fix multiprocessing.Process when stdout and/or stderr is closed
or None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: If nested log adapters are used, the inner <code class="docutils literal notranslate"><span class="pre">process()</span></code>
methods are no longer omitted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: The <code class="docutils literal notranslate"><span class="pre">manager</span></code> property on LoggerAdapter objects is now
properly settable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31806">bpo-31806</a>: Fix timeout rounding in time.sleep(), threading.Lock.acquire()
and socket.socket.settimeout() to round correctly negative timeouts
between -1.0 and 0.0. The functions now block waiting for events as
expected. Previously, the call was incorrectly non-blocking. Patch by
Pablo Galindo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28603">bpo-28603</a>: traceback: Fix a TypeError that occurred during printing of
exception tracebacks when either the current exception or an exception in
its context/cause chain is unhashable. Patch by Zane Bitter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30058">bpo-30058</a>: Fixed buffer overflow in select.kqueue.control().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31770">bpo-31770</a>: Prevent a crash when calling the <code class="docutils literal notranslate"><span class="pre">__init__()</span></code> method of a
<code class="docutils literal notranslate"><span class="pre">sqlite3.Cursor</span></code> object more than once. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31672">bpo-31672</a>: <code class="docutils literal notranslate"><span class="pre">idpattern</span></code> in <code class="docutils literal notranslate"><span class="pre">string.Template</span></code> matched some non-ASCII
characters. Now it uses <code class="docutils literal notranslate"><span class="pre">-i</span></code> regular expression local flag to avoid
non-ASCII characters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31764">bpo-31764</a>: Prevent a crash in <code class="docutils literal notranslate"><span class="pre">sqlite3.Cursor.close()</span></code> in case the
<code class="docutils literal notranslate"><span class="pre">Cursor</span></code> object is uninitialized. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31752">bpo-31752</a>: Fix possible crash in timedelta constructor called with custom
integers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31701">bpo-31701</a>: On Windows, faulthandler.enable() now ignores MSC and COM
exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31728">bpo-31728</a>: Prevent crashes in <code class="xref py py-obj docutils literal notranslate"><span class="pre">_elementtree</span></code> due to unsafe cleanup of
<code class="xref py py-obj docutils literal notranslate"><span class="pre">Element.text</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">Element.tail</span></code>. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31620">bpo-31620</a>: an empty asyncio.Queue now doesn’t leak memory when queue.get
pollers timeout</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31632">bpo-31632</a>: Fix method set_protocol() of class _SSLProtocolTransport in
asyncio module. This method was previously modifying a wrong reference to
the protocol.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31675">bpo-31675</a>: Fixed memory leaks in Tkinter’s methods splitlist() and split()
when pass a string larger than 2 GiB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31673">bpo-31673</a>: Fixed typo in the name of Tkinter’s method adderrorinfo().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30806">bpo-30806</a>: Fix the string representation of a netrc object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15037">bpo-15037</a>: Added a workaround for getkey() in curses for ncurses 5.7 and
earlier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25351">bpo-25351</a>: Avoid venv activate failures with undefined variables</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25532">bpo-25532</a>: inspect.unwrap() will now only try to unwrap an object
sys.getrecursionlimit() times, to protect against objects which create a
new object on every attribute access.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30347">bpo-30347</a>: Stop crashes when concurrently iterate over itertools.groupby()
iterators.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31516">bpo-31516</a>: <code class="docutils literal notranslate"><span class="pre">threading.current_thread()</span></code> should not return a dummy thread
at shutdown.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31351">bpo-31351</a>: python -m ensurepip now exits with non-zero exit code if pip
bootstrapping has failed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31482">bpo-31482</a>: <code class="docutils literal notranslate"><span class="pre">random.seed()</span></code> now works with bytes in version=1</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31334">bpo-31334</a>: Fix <code class="docutils literal notranslate"><span class="pre">poll.poll([timeout])</span></code> in the <code class="docutils literal notranslate"><span class="pre">select</span></code> module for
arbitrary negative timeouts on all OSes where it can only be a
non-negative integer or -1. Patch by Riccardo Coccioli.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31310">bpo-31310</a>: multiprocessing’s semaphore tracker should be launched again if
crashed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31308">bpo-31308</a>: Make multiprocessing’s forkserver process immune to Ctrl-C and
other user interruptions. If it crashes, restart it when necessary.</p></li>
</ul>
</div>
<div class="section" id="id59">
<h3>Documentation<a class="headerlink" href="#id59" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32105">bpo-32105</a>: Added asyncio.BaseEventLoop.connect_accepted_socket
versionadded marker.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31537">bpo-31537</a>: Fix incorrect usage of <code class="docutils literal notranslate"><span class="pre">get_history_length</span></code> in readline
documentation example code. Patch by Brad Smith.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30085">bpo-30085</a>: The operator functions without double underscores are preferred
for clarity. The one with underscores are only kept for
back-compatibility.</p></li>
</ul>
</div>
<div class="section" id="id60">
<h3>Tests<a class="headerlink" href="#id60" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31380">bpo-31380</a>: Skip test_httpservers test_undecodable_file on macOS: fails on
APFS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31705">bpo-31705</a>: Skip test_socket.test_sha256() on Linux kernel older than 4.5.
The test fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged
into the kernel 4.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31174">bpo-31174</a>: Fix test_tools.test_unparse: DirectoryTestCase now stores the
names sample to always test the same files. It prevents false alarms when
hunting reference leaks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30695">bpo-30695</a>: Add the <code class="xref py py-obj docutils literal notranslate"><span class="pre">set_nomemory(start,</span> <span class="pre">stop)</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">remove_mem_hooks()</span></code>
functions to the _testcapi module.</p></li>
</ul>
</div>
<div class="section" id="id61">
<h3>Build<a class="headerlink" href="#id61" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue32059">bpo-32059</a>: <code class="docutils literal notranslate"><span class="pre">detect_modules()</span></code> in <code class="docutils literal notranslate"><span class="pre">setup.py</span></code> now also searches the
sysroot paths when cross-compiling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31957">bpo-31957</a>: Fixes Windows SDK version detection when building for Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31609">bpo-31609</a>: Fixes quotes in PCbuild/clean.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31934">bpo-31934</a>: Abort the build when building out of a not clean source tree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31926">bpo-31926</a>: Fixed Argument Clinic sometimes causing compilation errors when
there was more than one function and/or method in a .c file with the same
name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update Windows builds to use SQLite 3.21.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28791">bpo-28791</a>: Update OS X installer to use SQLite 3.21.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22140">bpo-22140</a>: Prevent double substitution of prefix in python-config.sh.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31536">bpo-31536</a>: Avoid wholesale rebuild after <code class="xref py py-obj docutils literal notranslate"><span class="pre">make</span> <span class="pre">regen-all</span></code> if nothing
changed.</p></li>
</ul>
</div>
<div class="section" id="id62">
<h3>Windows<a class="headerlink" href="#id62" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue1102">bpo-1102</a>: Return <code class="docutils literal notranslate"><span class="pre">None</span></code> when <code class="docutils literal notranslate"><span class="pre">View.Fetch()</span></code> returns
<code class="docutils literal notranslate"><span class="pre">ERROR_NO_MORE_ITEMS</span></code> instead of raising <code class="docutils literal notranslate"><span class="pre">MSIError</span></code>.</p>
<p>Initial patch by Anthony Tuininga.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31944">bpo-31944</a>: Fixes Modify button in Apps and Features dialog.</p></li>
</ul>
</div>
<div class="section" id="id63">
<h3>macOS<a class="headerlink" href="#id63" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31392">bpo-31392</a>: Update macOS installer to use OpenSSL 1.0.2m</p></li>
</ul>
</div>
<div class="section" id="id64">
<h3>IDLE<a class="headerlink" href="#id64" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue32207">bpo-32207</a>: Improve tk event exception tracebacks in IDLE. When tk event
handling is driven by IDLE’s run loop, a confusing and distracting
queue.EMPTY traceback context is no longer added to tk event exception
tracebacks.  The traceback is now the same as when event handling is
driven by user code.  Patch based on a suggestion by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32164">bpo-32164</a>: Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet
in configdialog was replaced by ttk.Notebook.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue32100">bpo-32100</a>: IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch
mostly by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31858">bpo-31858</a>: IDLE – Restrict shell prompt manipulation to the shell. Editor
and output windows only see an empty last prompt line.  This simplifies
the code and fixes a minor bug when newline is inserted. Sys.ps1, if
present, is read on Shell start-up, but is not set or changed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31860">bpo-31860</a>: The font sample in the IDLE configuration dialog is now
editable. Changes persist while IDLE remains open</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31836">bpo-31836</a>: Test_code_module now passes if run after test_idle, which sets
ps1.</p>
<p>The code module uses sys.ps1 if present or sets it to ‘&gt;&gt;&gt; ‘ if not.
Test_code_module now properly tests both behaviors.  Ditto for ps2.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28603">bpo-28603</a>: Fix a TypeError that caused a shell restart when printing a
traceback that includes an exception that is unhashable. Patch by Zane
Bitter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13802">bpo-13802</a>: Use non-Latin characters in the IDLE’s Font settings sample.
Even if one selects a font that defines a limited subset of the unicode
Basic Multilingual Plane, tcl/tk will use other fonts that define a
character. The expanded example give users of non-Latin characters a
better idea of what they might see in IDLE’s shell and editors. To make
room for the expanded sample, frames on the Font tab are re-arranged. The
Font/Tabs help explains a bit about the additions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31460">bpo-31460</a>: Simplify the API of IDLE’s Module Browser.</p>
<p>Passing a widget instead of an flist with a root widget opens the option
of creating a browser frame that is only part of a window.  Passing a full
file name instead of pieces assumed to come from a .py file opens the
possibility of browsing python files that do not end in .py.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31649">bpo-31649</a>: IDLE - Make _htest, _utest parameters keyword only.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31559">bpo-31559</a>: Remove test order dependence in idle_test.test_browser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31459">bpo-31459</a>: Rename IDLE’s module browser from Class Browser to Module
Browser. The original module-level class and method browser became a
module browser, with the addition of module-level functions, years ago.
Nested classes and functions were added yesterday.  For
back-compatibility, the virtual event &lt;&lt;open-class-browser&gt;&gt;, which
appears on the Keys tab of the Settings dialog, is not changed. Patch by
Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31500">bpo-31500</a>: Default fonts now are scaled on HiDPI displays.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1612262">bpo-1612262</a>: IDLE module browser now shows nested classes and functions.
Original patches for code and tests by Guilherme Polo and Cheryl Sabella,
respectively.</p></li>
</ul>
</div>
<div class="section" id="id65">
<h3>Tools/Demos<a class="headerlink" href="#id65" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue30722">bpo-30722</a>: Make redemo work with Python 3.6 and newer versions.</p>
<p>Also, remove the <code class="docutils literal notranslate"><span class="pre">LOCALE</span></code> option since it doesn’t work with string
patterns in Python 3.</p>
<p>Patch by Christoph Sarnowski.</p>
</li>
</ul>
</div>
<div class="section" id="id66">
<h3>C API<a class="headerlink" href="#id66" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue20891">bpo-20891</a>: Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in
a non-Python thread before PyEval_InitThreads(), only call
PyEval_InitThreads() after calling PyThreadState_New() to fix a crash.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31532">bpo-31532</a>: Fix memory corruption due to allocator mix in getpath.c between
Py_GetPath() and Py_SetPath()</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30697">bpo-30697</a>: The <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyExc_RecursionErrorInst</span></code> singleton is removed and
<code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_NormalizeException()</span></code> does not use it anymore. This singleton is
persistent and its members being never cleared may cause a segfault during
finalization of the interpreter. See also <a class="reference external" href="https://bugs.python.org/issue22898">bpo-22898</a>.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-3-final">
<h2>Python 3.6.3 final<a class="headerlink" href="#python-3-6-3-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-10-03</em></p>
<div class="section" id="id67">
<h3>Library<a class="headerlink" href="#id67" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31641">bpo-31641</a>: Re-allow arbitrary iterables in
<a class="reference internal" href="../library/concurrent.futures.html#concurrent.futures.as_completed" title="concurrent.futures.as_completed"><code class="xref py py-obj docutils literal notranslate"><span class="pre">concurrent.futures.as_completed()</span></code></a>. Fixes regression in 3.6.3rc1.</p></li>
</ul>
</div>
<div class="section" id="id68">
<h3>Build<a class="headerlink" href="#id68" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31662">bpo-31662</a>: Fix typos in Windows <code class="docutils literal notranslate"><span class="pre">uploadrelease.bat</span></code> script. Fix Windows
Doc build issues in <code class="docutils literal notranslate"><span class="pre">Doc/make.bat</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31423">bpo-31423</a>: Fix building the PDF documentation with newer versions of
Sphinx.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-3-release-candidate-1">
<h2>Python 3.6.3 release candidate 1<a class="headerlink" href="#python-3-6-3-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-09-18</em></p>
<div class="section" id="id69">
<h3>Security<a class="headerlink" href="#id69" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29781">bpo-29781</a>: SSLObject.version() now correctly returns None when handshake
over BIO has not been performed yet.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30947">bpo-30947</a>: Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to
get security fixes.</p></li>
</ul>
</div>
<div class="section" id="id70">
<h3>Core and Builtins<a class="headerlink" href="#id70" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue31471">bpo-31471</a>: Fix an assertion failure in <a class="reference internal" href="../library/subprocess.html#subprocess.Popen" title="subprocess.Popen"><code class="xref py py-obj docutils literal notranslate"><span class="pre">subprocess.Popen()</span></code></a> on Windows, in
case the env argument has a bad keys() method. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31418">bpo-31418</a>: Fix an assertion failure in <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_WriteUnraisable()</span></code> in case
of an exception with a bad <code class="docutils literal notranslate"><span class="pre">__module__</span></code> attribute. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31416">bpo-31416</a>: Fix assertion failures in case of a bad warnings.filters or
warnings.defaultaction. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31411">bpo-31411</a>: Raise a TypeError instead of SystemError in case
warnings.onceregistry is not a dictionary. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31373">bpo-31373</a>: Fix several possible instances of undefined behavior due to
floating-point demotions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30465">bpo-30465</a>: Location information (<code class="docutils literal notranslate"><span class="pre">lineno</span></code> and <code class="docutils literal notranslate"><span class="pre">col_offset</span></code>) in
f-strings is now (mostly) correct.  This fixes tools like flake8 from
showing warnings on the wrong line (typically the first line of the file).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31343">bpo-31343</a>: Include sys/sysmacros.h for major(), minor(), and makedev().
GNU C libray plans to remove the functions from sys/types.h.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31291">bpo-31291</a>: Fix an assertion failure in <a class="reference internal" href="../library/zipimport.html#zipimport.zipimporter.get_data" title="zipimport.zipimporter.get_data"><code class="xref py py-obj docutils literal notranslate"><span class="pre">zipimport.zipimporter.get_data</span></code></a> on
Windows, when the return value of <code class="docutils literal notranslate"><span class="pre">pathname.replace('/','\\')</span></code> isn’t a
string. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31271">bpo-31271</a>: Fix an assertion failure in the write() method of
<a class="reference internal" href="../library/io.html#io.TextIOWrapper" title="io.TextIOWrapper"><code class="xref py py-obj docutils literal notranslate"><span class="pre">io.TextIOWrapper</span></code></a>, when the encoder doesn’t return a bytes object. Patch
by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31243">bpo-31243</a>: Fix a crash in some methods of <a class="reference internal" href="../library/io.html#io.TextIOWrapper" title="io.TextIOWrapper"><code class="xref py py-obj docutils literal notranslate"><span class="pre">io.TextIOWrapper</span></code></a>, when the
decoder’s state is invalid. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30721">bpo-30721</a>: <code class="docutils literal notranslate"><span class="pre">print</span></code> now shows correct usage hint for using Python 2
redirection syntax.  Patch by Sanyam Khurana.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31070">bpo-31070</a>: Fix a race condition in importlib _get_module_lock().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31095">bpo-31095</a>: Fix potential crash during GC caused by <code class="docutils literal notranslate"><span class="pre">tp_dealloc</span></code> which
doesn’t call <code class="docutils literal notranslate"><span class="pre">PyObject_GC_UnTrack()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31071">bpo-31071</a>: Avoid masking original TypeError in call with * unpacking when
other arguments are passed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30978">bpo-30978</a>: str.format_map() now passes key lookup exceptions through.
Previously any exception was replaced with a KeyError exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30808">bpo-30808</a>: Use _Py_atomic API for concurrency-sensitive signal state.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30876">bpo-30876</a>: Relative import from unloaded package now reimports the package
instead of failing with SystemError.  Relative import from non-package now
fails with ImportError rather than SystemError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30703">bpo-30703</a>: Improve signal delivery.</p>
<p>Avoid using Py_AddPendingCall from signal handler, to avoid calling
signal-unsafe functions. The tests I’m adding here fail without the rest
of the patch, on Linux and OS X. This means our signal delivery logic had
defects (some signals could be lost).</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30765">bpo-30765</a>: Avoid blocking in pthread_mutex_lock() when
PyThread_acquire_lock() is asked not to block.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31161">bpo-31161</a>: Make sure the ‘Missing parentheses’ syntax error message is
only applied to SyntaxError, not to subclasses. Patch by Martijn Pieters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30814">bpo-30814</a>: Fixed a race condition when import a submodule from a package.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30597">bpo-30597</a>: <code class="docutils literal notranslate"><span class="pre">print</span></code> now shows expected input in custom error message when
used as a Python 2 statement. Patch by Sanyam Khurana.</p></li>
</ul>
</div>
<div class="section" id="id71">
<h3>Library<a class="headerlink" href="#id71" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue31499">bpo-31499</a>: xml.etree: Fix a crash when a parser is part of a reference
cycle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: typing.get_type_hints now finds the right globalns for classes
and modules by default (when no <code class="docutils literal notranslate"><span class="pre">globalns</span></code> was specified by the caller).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Speed improvements to the <code class="docutils literal notranslate"><span class="pre">typing</span></code> module.  Original PRs by
Ivan Levkivskyi and Mitar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31544">bpo-31544</a>: The C accelerator module of ElementTree ignored exceptions
raised when looking up TreeBuilder target methods in XMLParser().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31234">bpo-31234</a>: socket.create_connection() now fixes manually a reference
cycle: clear the variable storing the last exception on success.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31457">bpo-31457</a>: LoggerAdapter objects can now be nested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31400">bpo-31400</a>: Improves SSL error handling to avoid losing error numbers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28958">bpo-28958</a>: ssl.SSLContext() now uses OpenSSL error information when a
context cannot be instantiated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27340">bpo-27340</a>: SSLSocket.sendall() now uses memoryview to create slices of
data. This fixes support for all bytes-like object. It is also more
efficient and avoids costly copies.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31178">bpo-31178</a>: Fix string concatenation bug in rare error path in the
subprocess module</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31350">bpo-31350</a>: Micro-optimize <code class="xref py py-func docutils literal notranslate"><span class="pre">asyncio._get_running_loop()</span></code> to become up
to 10% faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31170">bpo-31170</a>: expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of
partial characters for UTF-8 input (libexpat bug 115):
<a class="reference external" href="https://github.com/libexpat/libexpat/issues/115">https://github.com/libexpat/libexpat/issues/115</a></p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29136">bpo-29136</a>: Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29212">bpo-29212</a>: Fix concurrent.futures.thread.ThreadPoolExecutor threads to
have a non repr() based thread name by default when no thread_name_prefix
is supplied. They will now identify themselves as
“ThreadPoolExecutor-y_n”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9146">bpo-9146</a>: Fix a segmentation fault in _hashopenssl when standard hash
functions such as md5 are not available in the linked OpenSSL library.  As
in some special FIPS-140 build environments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27144">bpo-27144</a>: The <code class="docutils literal notranslate"><span class="pre">map()</span></code> and <code class="docutils literal notranslate"><span class="pre">as_completed()</span></code> iterators in
<code class="docutils literal notranslate"><span class="pre">concurrent.futures</span></code> now avoid keeping a reference to yielded objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10746">bpo-10746</a>: Fix ctypes producing wrong PEP 3118 type codes for integer
types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22536">bpo-22536</a>: The subprocess module now sets the filename when
FileNotFoundError is raised on POSIX systems due to the executable or cwd
not being found.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31249">bpo-31249</a>: concurrent.futures: WorkItem.run() used by ThreadPoolExecutor
now breaks a reference cycle between an exception object and the WorkItem
object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31247">bpo-31247</a>: xmlrpc.server now explicitly breaks reference cycles when using
sys.exc_info() in code handling exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30102">bpo-30102</a>: The ssl and hashlib modules now call
OPENSSL_add_all_algorithms_noconf() on OpenSSL &lt; 1.1.0. The function
detects CPU features and enables optimizations on some CPU architectures
such as POWER8. Patch is based on research from Gustavo Serra Scalet.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31185">bpo-31185</a>: Fixed miscellaneous errors in asyncio speedup module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31135">bpo-31135</a>: ttk: fix the destroy() method of LabeledScale and OptionMenu
classes. Call the parent destroy() method even if the used attribute
doesn’t exist. The LabeledScale.destroy() method now also explicitly
clears label and scale attributes to help the garbage collector to destroy
all widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31107">bpo-31107</a>: Fix <code class="xref py py-obj docutils literal notranslate"><span class="pre">copyreg._slotnames()</span></code> mangled attribute calculation for
classes whose name begins with an underscore. Patch by Shane Harvey.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31061">bpo-31061</a>: Fixed a crash when using asyncio and threads.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30502">bpo-30502</a>: Fix handling of long oids in ssl.  Based on patch by Christian
Heimes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30119">bpo-30119</a>: ftplib.FTP.putline() now throws ValueError on commands that
contains CR or LF. Patch by Dong-hee Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30595">bpo-30595</a>: multiprocessing.Queue.get() with a timeout now polls its reader
in non-blocking mode if it succeeded to acquire the lock but the acquire
took longer than the timeout.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29403">bpo-29403</a>: Fix <code class="docutils literal notranslate"><span class="pre">unittest.mock</span></code>’s autospec to not fail on method-bound
builtin functions.  Patch by Aaron Gallagher.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30961">bpo-30961</a>: Fix decrementing a borrowed reference in tracemalloc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25684">bpo-25684</a>: Change <code class="docutils literal notranslate"><span class="pre">ttk.OptionMenu</span></code> radiobuttons to be unique across
instances of <code class="docutils literal notranslate"><span class="pre">OptionMenu</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30886">bpo-30886</a>: Fix multiprocessing.Queue.join_thread(): it now waits until the
thread completes, even if the thread was started by the same process which
created the queue.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29854">bpo-29854</a>: Fix segfault in readline when using readline’s history-size
option.  Patch by Nir Soffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30319">bpo-30319</a>: socket.close() now ignores ECONNRESET error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30828">bpo-30828</a>: Fix out of bounds write in
<code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.CFuture.remove_done_callback()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30807">bpo-30807</a>: signal.setitimer() may disable the timer when passed a tiny
value.</p>
<p>Tiny values (such as 1e-6) are valid non-zero values for setitimer(),
which is specified as taking microsecond-resolution intervals. However, on
some platform, our conversion routine could convert 1e-6 into a zero
interval, therefore disabling the timer instead of (re-)scheduling it.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30441">bpo-30441</a>: Fix bug when modifying os.environ while iterating over it</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30532">bpo-30532</a>: Fix email header value parser dropping folding white space in
certain cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30879">bpo-30879</a>: os.listdir() and os.scandir() now emit bytes names when called
with bytes-like argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30746">bpo-30746</a>: Prohibited the ‘=’ character in environment variable names in
<code class="docutils literal notranslate"><span class="pre">os.putenv()</span></code> and <code class="docutils literal notranslate"><span class="pre">os.spawn*()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29755">bpo-29755</a>: Fixed the lgettext() family of functions in the gettext module.
They now always return bytes.</p></li>
</ul>
</div>
<div class="section" id="id72">
<h3>Documentation<a class="headerlink" href="#id72" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31294">bpo-31294</a>: Fix incomplete code snippet in the ZeroMQSocketListener and
ZeroMQSocketHandler examples and adapt them to Python 3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21649">bpo-21649</a>: Add RFC 7525 and Mozilla server side TLS links to SSL
documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30803">bpo-30803</a>: Clarify doc on truth value testing. Original patch by Peter
Thomassen.</p></li>
</ul>
</div>
<div class="section" id="id73">
<h3>Tests<a class="headerlink" href="#id73" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue31320">bpo-31320</a>: Silence traceback in test_ssl</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25674">bpo-25674</a>: Remove sha256.tbs-internet.com ssl test</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30715">bpo-30715</a>: Address ALPN callback changes for OpenSSL 1.1.0f. The latest
version behaves like OpenSSL 1.0.2 and no longer aborts handshake.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30822">bpo-30822</a>: regrtest: Exclude tzdata from regrtest –all. When running the
test suite using –use=all / -u all, exclude tzdata since it makes
test_datetime too slow (15-20 min on some buildbots) which then times out
on some buildbots. Fix also regrtest command line parser to allow passing
-u extralargefile to run test_zipfile64.</p></li>
</ul>
</div>
<div class="section" id="id74">
<h3>Build<a class="headerlink" href="#id74" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30854">bpo-30854</a>: Fix compile error when compiling –without-threads. Patch by
Masayuki Yamamoto.</p></li>
</ul>
</div>
<div class="section" id="id75">
<h3>Windows<a class="headerlink" href="#id75" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30389">bpo-30389</a>: Adds detection of Visual Studio 2017 to distutils on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31340">bpo-31340</a>: Change to building with MSVC v141 (included with Visual Studio
2017)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30581">bpo-30581</a>: os.cpu_count() now returns the correct number of processors on
Windows when the number of logical processors is greater than 64.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30731">bpo-30731</a>: Add a missing xmlns to python.manifest so that it matches the
schema.</p></li>
</ul>
</div>
<div class="section" id="id76">
<h3>IDLE<a class="headerlink" href="#id76" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue31493">bpo-31493</a>: IDLE code context – fix code update and font update timers.</p>
<p>Canceling timers prevents a warning message when test_idle completes.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31488">bpo-31488</a>: IDLE - Update non-key options in former extension classes. When
applying configdialog changes, call .reload for each feature class. Change
ParenMatch so updated options affect existing instances attached to
existing editor windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31477">bpo-31477</a>: IDLE - Improve rstrip entry in doc. Strip trailing whitespace
strips more than blank spaces.  Multiline string literals are not skipped.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31480">bpo-31480</a>: IDLE - make tests pass with zzdummy extension disabled by
default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31421">bpo-31421</a>: Document how IDLE runs tkinter programs. IDLE calls tcl/tk
update in the background in order to make live</p>
<p>interaction and experimentation with tkinter applications much easier.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31414">bpo-31414</a>: IDLE – fix tk entry box tests by deleting first. Adding to an
int entry is not the same as deleting and inserting because int(‘’) will
fail.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31051">bpo-31051</a>: Rearrange IDLE configdialog GenPage into Window, Editor, and
Help sections.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30617">bpo-30617</a>: IDLE - Add docstrings and tests for outwin subclass of editor.</p>
<p>Move some data and functions from the class to module level. Patch by
Cheryl Sabella.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31287">bpo-31287</a>: IDLE - Do not modify tkinter.message in test_configdialog.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27099">bpo-27099</a>: Convert IDLE’s built-in ‘extensions’ to regular features.</p>
<p>About 10 IDLE features were implemented as supposedly optional extensions.
Their different behavior could be confusing or worse for users and not
good for maintenance.  Hence the conversion.</p>
<p>The main difference for users is that user configurable key bindings for
builtin features are now handled uniformly.  Now, editing a binding in a
keyset only affects its value in the keyset.  All bindings are defined
together in the system-specific default keysets in config-extensions.def.
All custom keysets are saved as a whole in config-extension.cfg.  All take
effect as soon as one clicks Apply or Ok.</p>
<p>The affected events are ‘&lt;&lt;force-open-completions&gt;&gt;’, ‘&lt;&lt;expand-word&gt;&gt;’,
‘&lt;&lt;force-open-calltip&gt;&gt;’, ‘&lt;&lt;flash-paren&gt;&gt;’, ‘&lt;&lt;format-paragraph&gt;&gt;’,
‘&lt;&lt;run-module&gt;&gt;’, ‘&lt;&lt;check-module&gt;&gt;’, and ‘&lt;&lt;zoom-height&gt;&gt;’.  Any (global)
customizations made before 3.6.3 will not affect their keyset-specific
customization after 3.6.3. and vice versa.</p>
<p>Inital patch by Charles Wohlganger.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31206">bpo-31206</a>: IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by
Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31001">bpo-31001</a>: Add tests for configdialog highlight tab.  Patch by Cheryl
Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31205">bpo-31205</a>: IDLE: Factor KeysPage(Frame) class from ConfigDialog.  The
slightly modified tests continue to pass.  Patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31130">bpo-31130</a>: IDLE – stop leaks in test_configdialog. Initial patch by
Victor Stinner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31002">bpo-31002</a>: Add tests for configdialog keys tab. Patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19903">bpo-19903</a>: IDLE: Calltips use <a class="reference internal" href="../library/inspect.html#inspect.signature" title="inspect.signature"><code class="xref py py-obj docutils literal notranslate"><span class="pre">inspect.signature</span></code></a> instead of
<a class="reference internal" href="../library/inspect.html#inspect.getfullargspec" title="inspect.getfullargspec"><code class="xref py py-obj docutils literal notranslate"><span class="pre">inspect.getfullargspec</span></code></a>. This improves calltips for builtins converted to
use Argument Clinic. Patch by Louie Lu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31083">bpo-31083</a>: IDLE - Add an outline of a TabPage class in configdialog.
Update existing classes to match outline. Initial patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31050">bpo-31050</a>: Factor GenPage(Frame) class from ConfigDialog. The slightly
modified tests continue to pass. Patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31004">bpo-31004</a>: IDLE - Factor FontPage(Frame) class from ConfigDialog.</p>
<p>Slightly modified tests continue to pass. Fix General tests. Patch mostly
by Cheryl Sabella.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30781">bpo-30781</a>: IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan
Reedy and Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31060">bpo-31060</a>: IDLE - Finish rearranging methods of ConfigDialog Grouping
methods pertaining to each tab and the buttons will aid writing tests and
improving the tabs and will enable splitting the groups into classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30853">bpo-30853</a>: IDLE – Factor a VarTrace class out of ConfigDialog.</p>
<p>Instance tracers manages pairs consisting of a tk variable and a callback
function.  When tracing is turned on, setting the variable calls the
function.  Test coverage for the new class is 100%.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue31003">bpo-31003</a>: IDLE: Add more tests for General tab.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30993">bpo-30993</a>: IDLE - Improve configdialog font page and tests.</p>
<p>In configdialog: Document causal pathways in create_font_tab docstring.
Simplify some attribute names. Move set_samples calls to var_changed_font
(idea from Cheryl Sabella).  Move related functions to positions after the
create widgets function.</p>
<p>In test_configdialog: Fix test_font_set so not order dependent.  Fix
renamed test_indent_scale so it tests the widget.  Adjust tests for
movement of set_samples call.  Add tests for load functions.  Put all font
tests in one class and tab indent tests in another.  Except for two lines,
these tests completely cover the related functions.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30981">bpo-30981</a>: IDLE – Add more configdialog font page tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28523">bpo-28523</a>: IDLE: replace ‘colour’ with ‘color’ in configdialog.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30917">bpo-30917</a>: Add tests for idlelib.config.IdleConf. Increase coverage from
46% to 96%. Patch by Louie Lu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30934">bpo-30934</a>: Document coverage details for idlelib tests.</p>
<ul class="simple">
<li><p>Add section to idlelib/idle-test/README.txt.</p></li>
<li><p>Include check that branches are taken both ways.</p></li>
<li><p>Exclude IDLE-specific code that does not run during unit tests.</p></li>
</ul>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30913">bpo-30913</a>: IDLE: Document ConfigDialog tk Vars, methods, and widgets in
docstrings This will facilitate improving the dialog and splitting up the
class. Original patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30899">bpo-30899</a>: IDLE: Add tests for ConfigParser subclasses in config. Patch by
Louie Lu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30881">bpo-30881</a>: IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30851">bpo-30851</a>: IDLE: Remove unused variables in configdialog.  One is a
duplicate, one is set but cannot be altered by users. Patch by Cheryl
Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30870">bpo-30870</a>: IDLE: In Settings dialog, select font with Up, Down keys as
well as mouse. Initial patch by Louie Lu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8231">bpo-8231</a>: IDLE: call config.IdleConf.GetUserCfgDir only once.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30779">bpo-30779</a>: IDLE: Factor ConfigChanges class from configdialog, put in
config; test. * In config, put dump test code in a function; run it and
unittest in   ‘if __name__ == ‘__main__’. * Add class config.ConfigChanges
based on changes_class_v4.py on bpo issue. * Add class
test_config.ChangesTest, partly using configdialog_tests_v1.py. * Revise
configdialog to use ConfigChanges; see tracker msg297804. * Revise
test_configdialog to match configdialog changes. * Remove configdialog
functions unused or moved to ConfigChanges. Cheryl Sabella contributed
parts of the patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30777">bpo-30777</a>: IDLE: configdialog - Add docstrings and fix comments. Patch by
Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30495">bpo-30495</a>: IDLE: Improve textview with docstrings, PEP8 names, and more
tests. Patch by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30723">bpo-30723</a>: IDLE: Make several improvements to parenmatch. Add ‘parens’
style to highlight both opener and closer. Make ‘default’ style, which is
not default, a synonym for ‘opener’. Make time-delay work the same with
all styles. Add help for config dialog extensions tab, including help for
parenmatch. Add new tests.  Original patch by Charles Wohlganger.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30674">bpo-30674</a>: IDLE: add docstrings to grep module. Patch by Cheryl Sabella</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21519">bpo-21519</a>: IDLE’s basic custom key entry dialog now detects duplicates
properly. Original patch by Saimadhav Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29910">bpo-29910</a>: IDLE no longer deletes a character after commenting out a
region by a key shortcut.  Add <code class="docutils literal notranslate"><span class="pre">return</span> <span class="pre">'break'</span></code> for this and other
potential conflicts between IDLE and default key bindings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30728">bpo-30728</a>: Review and change idlelib.configdialog names. Lowercase method
and attribute names. Replace ‘colour’ with ‘color’, expand overly cryptic
names, delete unneeded underscores. Replace <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">*</span></code> with specific
imports. Patches by Cheryl Sabella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6739">bpo-6739</a>: IDLE: Verify user-entered key sequences by trying to bind them
with tk. Add tests for all 3 validation functions. Original patch by G
Polo.  Tests added by Cheryl Sabella.</p></li>
</ul>
</div>
<div class="section" id="id77">
<h3>Tools/Demos<a class="headerlink" href="#id77" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30983">bpo-30983</a>: gdb integration commands (py-bt, etc.) work on optimized shared
builds now, too.  PEP 523 introduced _PyEval_EvalFrameDefault which
inlines PyEval_EvalFrameEx on non-debug shared builds.  This broke the
ability to use py-bt, py-up, and a few other Python-specific gdb
integrations. The problem is fixed by only looking for
_PyEval_EvalFrameDefault frames in python-gdb.py.  Original patch by Bruno
“Polaco” Penteado.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-2-final">
<h2>Python 3.6.2 final<a class="headerlink" href="#python-3-6-2-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-07-17</em></p>
<p>No changes since release candidate 2</p>
</div>
<div class="section" id="python-3-6-2-release-candidate-2">
<h2>Python 3.6.2 release candidate 2<a class="headerlink" href="#python-3-6-2-release-candidate-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-07-07</em></p>
<div class="section" id="id78">
<h3>Security<a class="headerlink" href="#id78" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30730">bpo-30730</a>: Prevent environment variables injection in subprocess on
Windows.  Prevent passing other environment variables and command
arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30694">bpo-30694</a>: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple
security vulnerabilities including: CVE-2017-9233 (External entity
infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix),
CVE-2016-0718 (Fix regression bugs from 2.2.0’s fix to CVE-2016-0718) and
CVE-2012-0876 (Counter hash flooding with SipHash). Note: the
CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn’t
impact Python, since Python already gets entropy from the OS to set the
expat secret using <code class="docutils literal notranslate"><span class="pre">XML_SetHashSalt()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30500">bpo-30500</a>: Fix urllib.parse.splithost() to correctly parse fragments. For
example, <code class="docutils literal notranslate"><span class="pre">splithost('//127.0.0.1#&#64;evil.com/')</span></code> now correctly returns the
<code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code> host, instead of treating <code class="docutils literal notranslate"><span class="pre">&#64;evil.com</span></code> as the host in an
authentication (<code class="docutils literal notranslate"><span class="pre">login&#64;host</span></code>).</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-2-release-candidate-1">
<h2>Python 3.6.2 release candidate 1<a class="headerlink" href="#python-3-6-2-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-06-17</em></p>
<div class="section" id="id79">
<h3>Core and Builtins<a class="headerlink" href="#id79" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30682">bpo-30682</a>: Removed a too-strict assertion that failed for certain
f-strings, such as eval(“f’\n’”) and eval(“f’\r’”).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30604">bpo-30604</a>: Move co_extra_freefuncs to not be per-thread to avoid crashes</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29104">bpo-29104</a>: Fixed parsing backslashes in f-strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27945">bpo-27945</a>: Fixed various segfaults with dict when input collections are
mutated during searching, inserting or comparing.  Based on patches by
Duane Griffin and Tim Mitchell.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25794">bpo-25794</a>: Fixed type.__setattr__() and type.__delattr__() for
non-interned attribute names.  Based on patch by Eryk Sun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30039">bpo-30039</a>: If a KeyboardInterrupt happens when the interpreter is in the
middle of resuming a chain of nested ‘yield from’ or ‘await’ calls, it’s
now correctly delivered to the innermost frame.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12414">bpo-12414</a>: sys.getsizeof() on a code object now returns the sizes which
includes the code struct and sizes of objects which it references. Patch
by Dong-hee Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29949">bpo-29949</a>: Fix memory usage regression of set and frozenset object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29935">bpo-29935</a>: Fixed error messages in the index() method of tuple, list and
deque when pass indices of wrong type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29859">bpo-29859</a>: Show correct error messages when any of the pthread_* calls in
thread_pthread.h fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28876">bpo-28876</a>: <code class="docutils literal notranslate"><span class="pre">bool(range)</span></code> works even if <code class="docutils literal notranslate"><span class="pre">len(range)</span></code> raises
<a class="reference internal" href="../library/exceptions.html#OverflowError" title="OverflowError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">OverflowError</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29600">bpo-29600</a>: Fix wrapping coroutine return values in StopIteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28856">bpo-28856</a>: Fix an oversight that %b format for bytes should support
objects follow the buffer protocol.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29714">bpo-29714</a>: Fix a regression that bytes format may fail when containing
zero bytes inside.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29478">bpo-29478</a>: If max_line_length=None is specified while using the Compat32
policy, it is no longer ignored.  Patch by Mircea Cosbuc.</p></li>
</ul>
</div>
<div class="section" id="id80">
<h3>Library<a class="headerlink" href="#id80" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30616">bpo-30616</a>: Functional API of enum allows to create empty enums. Patched by
Dong-hee Na</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30038">bpo-30038</a>: Fix race condition between signal delivery and wakeup file
descriptor. Patch by Nathaniel Smith.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23894">bpo-23894</a>: lib2to3 now recognizes <code class="docutils literal notranslate"><span class="pre">rb'...'</span></code> and <code class="docutils literal notranslate"><span class="pre">f'...'</span></code> strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23890">bpo-23890</a>: unittest.TestCase.assertRaises() now manually breaks a
reference cycle to not keep objects alive longer than expected.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30149">bpo-30149</a>: inspect.signature() now supports callables with
variable-argument parameters wrapped with partialmethod. Patch by Dong-hee
Na.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30645">bpo-30645</a>: Fix path calculation in imp.load_package(), fixing it for cases
when a package is only shipped with bytecodes. Patch by Alexandru
Ardelean.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29931">bpo-29931</a>: Fixed comparison check for ipaddress.ip_interface objects.
Patch by Sanjay Sundaresan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30605">bpo-30605</a>: re.compile() no longer raises a BytesWarning when compiling a
bytes instance with misplaced inline modifier.  Patch by Roy Williams.</p></li>
</ul>
</div>
<div class="section" id="id81">
<h3>Security<a class="headerlink" href="#id81" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29591">bpo-29591</a>: Update expat copy from 2.1.1 to 2.2.0 to get fixes of
CVE-2016-0718 and CVE-2016-4472. See
<a class="reference external" href="https://sourceforge.net/p/expat/bugs/537/">https://sourceforge.net/p/expat/bugs/537/</a> for more information.</p></li>
</ul>
</div>
<div class="section" id="id82">
<h3>Library<a class="headerlink" href="#id82" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24484">bpo-24484</a>: Avoid race condition in multiprocessing cleanup (#2159)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28994">bpo-28994</a>: The traceback no longer displayed for SystemExit raised in a
callback registered by atexit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30508">bpo-30508</a>: Don’t log exceptions if Task/Future “cancel()” method was
called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Updates to typing module: Add generic AsyncContextManager, add
support for ContextManager on all versions. Original PRs by Jelle Zijlstra
and Ivan Levkivskyi</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29870">bpo-29870</a>: Fix ssl sockets leaks when connection is aborted in asyncio/ssl
implementation. Patch by Michaël Sghaïer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29743">bpo-29743</a>: Closing transport during handshake process leaks open socket.
Patch by Nikolay Kim</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27585">bpo-27585</a>: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
Sornay.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30418">bpo-30418</a>: On Windows, subprocess.Popen.communicate() now also ignore
EINVAL on stdin.write() if the child process is still running but closed
the pipe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29822">bpo-29822</a>: inspect.isabstract() now works during __init_subclass__.  Patch
by Nate Soares.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29581">bpo-29581</a>: ABCMeta.__new__ now accepts <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code>, allowing abstract
base classes to use keyword parameters in __init_subclass__. Patch by Nate
Soares.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30557">bpo-30557</a>: faulthandler now correctly filters and displays exception codes
on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30378">bpo-30378</a>: Fix the problem that logging.handlers.SysLogHandler cannot
handle IPv6 addresses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29960">bpo-29960</a>: Preserve generator state when _random.Random.setstate() raises
an exception. Patch by Bryan Olson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30414">bpo-30414</a>: multiprocessing.Queue._feed background running thread do not
break from main loop on exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30003">bpo-30003</a>: Fix handling escape characters in HZ codec.  Based on patch by
Ma Lin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30301">bpo-30301</a>: Fix AttributeError when using SimpleQueue.empty() under <em>spawn</em>
and <em>forkserver</em> start methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30329">bpo-30329</a>: imaplib and poplib now catch the Windows socket WSAEINVAL error
(code 10022) on shutdown(SHUT_RDWR): An invalid operation was attempted.
This error occurs sometimes on SSL connections.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30375">bpo-30375</a>: Warnings emitted when compile a regular expression now always
point to the line in the user code.  Previously they could point into
inners of the re module if emitted from inside of groups or conditionals.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30048">bpo-30048</a>: Fixed <code class="docutils literal notranslate"><span class="pre">Task.cancel()</span></code> can be ignored when the task is running
coroutine and the coroutine returned without any more <code class="docutils literal notranslate"><span class="pre">await</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30266">bpo-30266</a>: contextlib.AbstractContextManager now supports
anti-registration by setting __enter__ = None or __exit__ = None,
following the pattern introduced in <a class="reference external" href="https://bugs.python.org/issue25958">bpo-25958</a>. Patch by Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30298">bpo-30298</a>: Weaken the condition of deprecation warnings for inline
modifiers. Now allowed several subsequential inline modifiers at the start
of the pattern (e.g. <code class="docutils literal notranslate"><span class="pre">'(?i)(?s)...'</span></code>).  In verbose mode whitespaces and
comments now are allowed before and between inline modifiers (e.g. <code class="docutils literal notranslate"><span class="pre">'(?x)</span>
<span class="pre">(?i)</span> <span class="pre">(?s)...'</span></code>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29990">bpo-29990</a>: Fix range checking in GB18030 decoder.  Original patch by Ma
Lin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26293">bpo-26293</a>: Change resulted because of zipfile breakage. (See also:
<a class="reference external" href="https://bugs.python.org/issue29094">bpo-29094</a>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30243">bpo-30243</a>: Removed the __init__ methods of _json’s scanner and encoder.
Misusing them could cause memory leaks or crashes.  Now scanner and
encoder objects are completely initialized in the __new__ methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30185">bpo-30185</a>: Avoid KeyboardInterrupt tracebacks in forkserver helper process
when Ctrl-C is received.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Various updates to typing module: add typing.NoReturn type, use
WrapperDescriptorType, minor bug-fixes.  Original PRs by Jim
Fasarakis-Hilliard and Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30205">bpo-30205</a>: Fix getsockname() for unbound AF_UNIX sockets on Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30070">bpo-30070</a>: Fixed leaks and crashes in errors handling in the parser
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30061">bpo-30061</a>: Fixed crashes in IOBase methods __next__() and readlines() when
readline() or __next__() respectively return non-sizeable object. Fixed
possible other errors caused by not checking results of PyObject_Size(),
PySequence_Size(), or PyMapping_Size().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30017">bpo-30017</a>: Allowed calling the close() method of the zip entry writer
object multiple times.  Writing to a closed writer now always produces a
ValueError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30068">bpo-30068</a>: _io._IOBase.readlines will check if it’s closed first when hint
is present.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29694">bpo-29694</a>: Fixed race condition in pathlib mkdir with flags parents=True.
Patch by Armin Rigo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29692">bpo-29692</a>: Fixed arbitrary unchaining of RuntimeError exceptions in
contextlib.contextmanager.  Patch by Siddharth Velankar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29998">bpo-29998</a>: Pickling and copying ImportError now preserves name and path
attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29953">bpo-29953</a>: Fixed memory leaks in the replace() method of datetime and time
objects when pass out of bound fold argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29942">bpo-29942</a>: Fix a crash in itertools.chain.from_iterable when encountering
long runs of empty iterables.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27863">bpo-27863</a>: Fixed multiple crashes in ElementTree caused by race conditions
and wrong types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28699">bpo-28699</a>: Fixed a bug in pools in multiprocessing.pool that raising an
exception at the very first of an iterable may swallow the exception or
make the program hang. Patch by Davin Potts and Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25803">bpo-25803</a>: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when
the OS gives priority to errors such as EACCES over EEXIST.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29861">bpo-29861</a>: Release references to tasks, their arguments and their results
as soon as they are finished in multiprocessing.Pool.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29884">bpo-29884</a>: faulthandler: Restore the old sigaltstack during teardown.
Patch by Christophe Zeitouny.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive buffered file-like objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29800">bpo-29800</a>: Fix crashes in partial.__repr__ if the keys of partial.keywords
are not strings.  Patch by Michael Seifert.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29742">bpo-29742</a>: get_extra_info() raises exception if get called on closed ssl
transport. Patch by Nikolay Kim.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8256">bpo-8256</a>: Fixed possible failing or crashing input() if attributes
“encoding” or “errors” of sys.stdin or sys.stdout are not set or are not
strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28298">bpo-28298</a>: Fix a bug that prevented array ‘Q’, ‘L’ and ‘I’ from accepting
big intables (objects that have __int__) as elements.  Patch by Oren
Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28231">bpo-28231</a>: The zipfile module now accepts path-like objects for external
paths.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26915">bpo-26915</a>: index() and count() methods of collections.abc.Sequence now
check identity before checking equality when do comparisons.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29615">bpo-29615</a>: SimpleXMLRPCDispatcher no longer chains KeyError (or any other
exception) to exception(s) raised in the dispatched methods. Patch by Petr
Motejlek.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30177">bpo-30177</a>: path.resolve(strict=False) no longer cuts the path after the
first element not present in the filesystem.  Patch by Antoine Pietri.</p></li>
</ul>
</div>
<div class="section" id="id83">
<h3>IDLE<a class="headerlink" href="#id83" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue15786">bpo-15786</a>: Fix several problems with IDLE’s autocompletion box. The
following should now work: clicking on selection box items; using the
scrollbar; selecting an item by hitting Return. Hangs on MacOSX should no
longer happen. Patch by Louie Lu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25514">bpo-25514</a>: Add doc subsubsection about IDLE failure to start. Popup
no-connection message directs users to this section.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30642">bpo-30642</a>: Fix reference leaks in IDLE tests. Patches by Louie Lu and
Terry Jan Reedy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30495">bpo-30495</a>: Add docstrings for textview.py and use PEP8 names. Patches by
Cheryl Sabella and Terry Jan Reedy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30290">bpo-30290</a>: Help-about: use pep8 names and add tests. Increase coverage to
100%. Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30303">bpo-30303</a>: Add _utest option to textview; add new tests. Increase coverage
to 100%. Patches by Louie Lu and Terry Jan Reedy.</p></li>
</ul>
</div>
<div class="section" id="id84">
<h3>C API<a class="headerlink" href="#id84" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27867">bpo-27867</a>: Function PySlice_GetIndicesEx() no longer replaced with a macro
if Py_LIMITED_API is not set.</p></li>
</ul>
</div>
<div class="section" id="id85">
<h3>Build<a class="headerlink" href="#id85" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29941">bpo-29941</a>: Add <code class="docutils literal notranslate"><span class="pre">--with-assertions</span></code> configure flag to explicitly enable C
<code class="docutils literal notranslate"><span class="pre">assert()</span></code> checks. Defaults to off. <code class="docutils literal notranslate"><span class="pre">--with-pydebug</span></code> implies
<code class="docutils literal notranslate"><span class="pre">--with-assertions</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28787">bpo-28787</a>: Fix out-of-tree builds of Python when configured with
<code class="docutils literal notranslate"><span class="pre">--with--dtrace</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29243">bpo-29243</a>: Prevent unnecessary rebuilding of Python during <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code>,
<code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code> and some other make targets when configured with
<code class="docutils literal notranslate"><span class="pre">--enable-optimizations</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23404">bpo-23404</a>: Don’t regenerate generated files based on file modification
time anymore: the action is now explicit. Replace <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">touch</span></code> with
<code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">regen-all</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29643">bpo-29643</a>: Fix <code class="docutils literal notranslate"><span class="pre">--enable-optimization</span></code> didn’t work.</p></li>
</ul>
</div>
<div class="section" id="id86">
<h3>Documentation<a class="headerlink" href="#id86" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue30176">bpo-30176</a>: Add missing attribute related constants in curses
documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30052">bpo-30052</a>: the link targets for <a class="reference internal" href="../library/stdtypes.html#bytes" title="bytes"><code class="xref py py-func docutils literal notranslate"><span class="pre">bytes()</span></code></a> and <a class="reference internal" href="../library/stdtypes.html#bytearray" title="bytearray"><code class="xref py py-func docutils literal notranslate"><span class="pre">bytearray()</span></code></a> are
now their respective type definitions, rather than the corresponding
builtin function entries. Use <a class="reference internal" href="../library/functions.html#func-bytes"><span class="std std-ref">bytes</span></a> and
<a class="reference internal" href="../library/functions.html#func-bytearray"><span class="std std-ref">bytearray</span></a> to reference the latter.</p>
<p>In order to ensure this and future cross-reference updates are applied
automatically, the daily documentation builds now disable the default
output caching features in Sphinx.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26985">bpo-26985</a>: Add missing info of code object in inspect documentation.</p></li>
</ul>
</div>
<div class="section" id="id87">
<h3>Tools/Demos<a class="headerlink" href="#id87" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29367">bpo-29367</a>: python-gdb.py now supports also <code class="docutils literal notranslate"><span class="pre">method-wrapper</span></code>
(<code class="docutils literal notranslate"><span class="pre">wrapperobject</span></code>) objects.</p></li>
</ul>
</div>
<div class="section" id="id88">
<h3>Tests<a class="headerlink" href="#id88" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30357">bpo-30357</a>: test_thread: setUp() now uses support.threading_setup() and
support.threading_cleanup() to wait until threads complete to avoid random
side effects on following tests. Initial patch written by Grzegorz
Grzywacz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30197">bpo-30197</a>: Enhanced functions swap_attr() and swap_item() in the
test.support module. They now work when delete replaced attribute or item
inside the with statement.  The old value of the attribute or item (or
None if it doesn’t exist) now will be assigned to the target of the “as”
clause, if there is one.</p></li>
</ul>
</div>
<div class="section" id="id89">
<h3>Windows<a class="headerlink" href="#id89" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue30687">bpo-30687</a>: Locate msbuild.exe on Windows when building rather than
vcvarsall.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue30450">bpo-30450</a>: The build process on Windows no longer depends on Subversion,
instead pulling external code from GitHub via a Python script.  If Python
3.6 is not found on the system (via <code class="docutils literal notranslate"><span class="pre">py</span> <span class="pre">-3.6</span></code>), NuGet is used to
download a copy of 32-bit Python.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-1-final">
<h2>Python 3.6.1 final<a class="headerlink" href="#python-3-6-1-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-03-21</em></p>
<div class="section" id="id90">
<h3>Core and Builtins<a class="headerlink" href="#id90" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29723">bpo-29723</a>: The <code class="docutils literal notranslate"><span class="pre">sys.path[0]</span></code> initialization change for <a class="reference external" href="https://bugs.python.org/issue29139">bpo-29139</a> caused
a regression by revealing an inconsistency in how sys.path is initialized
when executing <code class="docutils literal notranslate"><span class="pre">__main__</span></code> from a zipfile, directory, or other import
location. The interpreter now consistently avoids ever adding the import
location’s parent directory to <code class="docutils literal notranslate"><span class="pre">sys.path</span></code>, and ensures no other
<code class="docutils literal notranslate"><span class="pre">sys.path</span></code> entries are inadvertently modified when inserting the import
location named on the command line.</p></li>
</ul>
</div>
<div class="section" id="id91">
<h3>Build<a class="headerlink" href="#id91" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27593">bpo-27593</a>: fix format of git information used in sys.version</p></li>
<li><p>Fix incompatible comment in python.h</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-1-release-candidate-1">
<h2>Python 3.6.1 release candidate 1<a class="headerlink" href="#python-3-6-1-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-03-04</em></p>
<div class="section" id="id92">
<h3>Core and Builtins<a class="headerlink" href="#id92" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28893">bpo-28893</a>: Set correct __cause__ for errors about invalid awaitables
returned from __aiter__ and __anext__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29683">bpo-29683</a>: Fixes to memory allocation in _PyCode_SetExtra.  Patch by Brian
Coleman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29684">bpo-29684</a>: Fix minor regression of PyEval_CallObjectWithKeywords. It
should raise TypeError when kwargs is not a dict.  But it might cause segv
when args=NULL and kwargs is not a dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28598">bpo-28598</a>: Support __rmod__ for subclasses of str being called before
str.__mod__. Patch by Martijn Pieters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29607">bpo-29607</a>: Fix stack_effect computation for CALL_FUNCTION_EX. Patch by
Matthieu Dartiailh.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29602">bpo-29602</a>: Fix incorrect handling of signed zeros in complex constructor
for complex subclasses and for inputs having a __complex__ method. Patch
by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29347">bpo-29347</a>: Fixed possibly dereferencing undefined pointers when creating
weakref objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29438">bpo-29438</a>: Fixed use-after-free problem in key sharing dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29319">bpo-29319</a>: Prevent RunMainFromImporter overwriting sys.path[0].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29337">bpo-29337</a>: Fixed possible BytesWarning when compare the code objects.
Warnings could be emitted at compile time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29327">bpo-29327</a>: Fixed a crash when pass the iterable keyword argument to
sorted().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29034">bpo-29034</a>: Fix memory leak and use-after-free in os module
(path_converter).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29159">bpo-29159</a>: Fix regression in bytes(x) when x.__index__() raises Exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include &lt;sys/random.h&gt; if it does not exist.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25677">bpo-25677</a>: Correct the positioning of the syntax error caret for indented
blocks. Based on patch by Michael Layzell.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate
form.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26919">bpo-26919</a>: On Android, operating system data is now always encoded/decoded
to/from UTF-8, instead of the locale encoding to avoid inconsistencies
with os.fsencode() and os.fsdecode() which are already using UTF-8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28991">bpo-28991</a>: functools.lru_cache() was susceptible to an obscure reentrancy
bug triggerable by a monkey-patched len() function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28739">bpo-28739</a>: f-string expressions are no longer accepted as docstrings and
by ast.literal_eval() even if they do not include expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28512">bpo-28512</a>: Fixed setting the offset attribute of SyntaxError by
PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28918">bpo-28918</a>: Fix the cross compilation of xxlimited when Python has been
built with Py_DEBUG defined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28731">bpo-28731</a>: Optimize _PyDict_NewPresized() to create correct size dict.
Improve speed of dict literal with constant keys up to 30%.</p></li>
</ul>
</div>
<div class="section" id="id93">
<h3>Library<a class="headerlink" href="#id93" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29169">bpo-29169</a>: Update zlib to 1.2.11.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29623">bpo-29623</a>: Allow use of path-like object as a single argument in
ConfigParser.read(). Patch by David Ellis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28963">bpo-28963</a>: Fix out of bound iteration in
asyncio.Future.remove_done_callback implemented in C.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29704">bpo-29704</a>: asyncio.subprocess.SubprocessStreamProtocol no longer closes
before all pipes are closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29271">bpo-29271</a>: Fix Task.current_task and Task.all_tasks implemented in C to
accept None argument as their pure Python implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29703">bpo-29703</a>: Fix asyncio to support instantiation of new event loops in
child processes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29376">bpo-29376</a>: Fix assertion error in threading._DummyThread.is_alive().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28624">bpo-28624</a>: Add a test that checks that cwd parameter of Popen() accepts
PathLike objects.  Patch by Sayan Chowdhury.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28518">bpo-28518</a>: Start a transaction implicitly before a DML statement. Patch by
Aviv Palivoda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29532">bpo-29532</a>: Altering a kwarg dictionary passed to functools.partial() no
longer affects a partial object after creation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29110">bpo-29110</a>: Fix file object leak in aifc.open() when file is given as a
filesystem path and is not in valid AIFF format. Patch by Anthony Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28556">bpo-28556</a>: Various updates to typing module: typing.Counter,
typing.ChainMap, improved ABC caching, etc. Original PRs by Jelle
Zijlstra, Ivan Levkivskyi, Manuel Krebber, and Łukasz Langa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29100">bpo-29100</a>: Fix datetime.fromtimestamp() regression introduced in Python
3.6.0: check minimum and maximum years.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29519">bpo-29519</a>: Fix weakref spewing exceptions during interpreter shutdown when
used with a rare combination of multiprocessing and custom codecs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29416">bpo-29416</a>: Prevent infinite loop in pathlib.Path.mkdir</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29444">bpo-29444</a>: Fixed out-of-bounds buffer access in the group() method of the
match object. Based on patch by WGH.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29335">bpo-29335</a>: Fix subprocess.Popen.wait() when the child process has exited
to a stopped instead of terminated state (ex: when under ptrace).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29290">bpo-29290</a>: Fix a regression in argparse that help messages would wrap at
non-breaking spaces.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28735">bpo-28735</a>: Fixed the comparison of mock.MagickMock with mock.ANY.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29316">bpo-29316</a>: Restore the provisional status of typing module, add
corresponding note to documentation. Patch by Ivan L.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29219">bpo-29219</a>: Fixed infinite recursion in the repr of uninitialized
ctypes.CDLL instances.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29011">bpo-29011</a>: Fix an important omission by adding Deque to the typing module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28969">bpo-28969</a>: Fixed race condition in C implementation of
functools.lru_cache. KeyError could be raised when cached function with
full cache was simultaneously called from differen threads with the same
uncached arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29142">bpo-29142</a>: In urllib.request, suffixes in no_proxy environment variable
with leading dots could match related hostnames again (e.g. .b.c matches
a.b.c). Patch by Milan Oberkirch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28961">bpo-28961</a>: Fix unittest.mock._Call helper: don’t ignore the name parameter
anymore. Patch written by Jiajun Huang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29203">bpo-29203</a>: functools.lru_cache() now respects PEP 468 and preserves the
order of keyword arguments.  f(a=1, b=2) is now cached separately from
f(b=2, a=1) since both calls could potentially give different results.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15812">bpo-15812</a>: inspect.getframeinfo() now correctly shows the first line of a
context. Patch by Sam Breese.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29094">bpo-29094</a>: Offsets in a ZIP file created with extern file object and modes
“w” and “x” now are relative to the start of the file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29085">bpo-29085</a>: Allow random.Random.seed() to use high quality OS randomness
rather than the pid and time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29061">bpo-29061</a>: Fixed bug in secrets.randbelow() which would hang when given a
negative input.  Patch by Brendan Donegan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29079">bpo-29079</a>: Prevent infinite loop in pathlib.resolve() on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13051">bpo-13051</a>: Fixed recursion errors in large or resized
curses.textpad.Textbox.  Based on patch by Tycho Andersen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29119">bpo-29119</a>: Fix weakrefs in the pure python version of
collections.OrderedDict move_to_end() method. Contributed by Andra
Bogildea.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9770">bpo-9770</a>: curses.ascii predicates now work correctly with negative
integers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28427">bpo-28427</a>: old keys should not remove new values from WeakValueDictionary
when collecting from another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29055">bpo-29055</a>: Neaten-up empty population error on random.choice() by
suppressing the upstream exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19542">bpo-19542</a>: Fix bugs in WeakValueDictionary.setdefault() and
WeakValueDictionary.pop() when a GC collection happens in another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when passing a sequence
that doesn’t own its elements as limits.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28779">bpo-28779</a>: multiprocessing.set_forkserver_preload() would crash the
forkserver process if a preloaded module instantiated some multiprocessing
objects such as locks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28847">bpo-28847</a>: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26937">bpo-26937</a>: The chown() method of the tarfile.TarFile class does not fail
now when the grp module cannot be imported, as for example on Android
platforms.</p></li>
</ul>
</div>
<div class="section" id="id94">
<h3>IDLE<a class="headerlink" href="#id94" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29071">bpo-29071</a>: IDLE colors f-string prefixes (but not invalid ur prefixes).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28572">bpo-28572</a>: Add 10% to coverage of IDLE’s test_configdialog. Update and
augment description of the configuration system.</p></li>
</ul>
</div>
<div class="section" id="id95">
<h3>Windows<a class="headerlink" href="#id95" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29579">bpo-29579</a>: Removes readme.txt from the installer</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29326">bpo-29326</a>: Ignores blank lines in ._pth files (Patch by Alexey Izbyshev)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: Correctly handle special console filenames (patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29409">bpo-29409</a>: Implement PEP 529 for io.FileIO (Patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29392">bpo-29392</a>: Prevent crash when passing invalid arguments into msvcrt
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25778">bpo-25778</a>: winreg does not truncate string correctly (Patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder and disable it by default.</p></li>
</ul>
</div>
<div class="section" id="id96">
<h3>C API<a class="headerlink" href="#id96" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27867">bpo-27867</a>: Function PySlice_GetIndicesEx() is replaced with a macro if
Py_LIMITED_API is not set or set to the value between 0x03050400 and
0x03060000 (not including) or 0x03060100 or higher.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29083">bpo-29083</a>: Fixed the declaration of some public API functions.
PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in
limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and
Py_BuildValue() were not available in limited API of version &lt; 3.3 when
PY_SSIZE_T_CLEAN is defined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29058">bpo-29058</a>: All stable API extensions added after Python 3.2 are now
available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of
the minimum Python version supporting this API.</p></li>
</ul>
</div>
<div class="section" id="id97">
<h3>Documentation<a class="headerlink" href="#id97" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28929">bpo-28929</a>: Link the documentation to its source file on GitHub.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25008">bpo-25008</a>: Document smtpd.py as effectively deprecated and add a pointer
to aiosmtpd, a third-party asyncio-based replacement.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26355">bpo-26355</a>: Add canonical header link on each page to corresponding major
version of the documentation. Patch by Matthias Bussonnier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29349">bpo-29349</a>: Fix Python 2 syntax in code for building the documentation.</p></li>
</ul>
</div>
<div class="section" id="id98">
<h3>Tests<a class="headerlink" href="#id98" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28087">bpo-28087</a>: Skip test_asyncore and test_eintr poll failures on macOS. Skip
some tests of select.poll when running on macOS due to unresolved issues
with the underlying system poll function on some macOS versions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29571">bpo-29571</a>: to match the behaviour of the <code class="docutils literal notranslate"><span class="pre">re.LOCALE</span></code> flag,
test_re.test_locale_flag now uses <code class="docutils literal notranslate"><span class="pre">locale.getpreferredencoding(False)</span></code>
to determine the candidate encoding for the test regex (allowing it to
correctly skip the test when the default locale encoding is a multi-byte
encoding)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28950">bpo-28950</a>: Disallow -j0 to be combined with -T/-l in regrtest command line
arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28683">bpo-28683</a>: Fix the tests that bind() a unix socket and raise
PermissionError on Android for a non-root user.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26939">bpo-26939</a>: Add the support.setswitchinterval() function to fix
test_functools hanging on the Android armv7 qemu emulator.</p></li>
</ul>
</div>
<div class="section" id="id99">
<h3>Build<a class="headerlink" href="#id99" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27593">bpo-27593</a>: sys.version and the platform module python_build(),
python_branch(), and python_revision() functions now use git information
rather than hg when building from a repo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29572">bpo-29572</a>: Update Windows build and OS X installers to use OpenSSL 1.0.2k.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26851">bpo-26851</a>: Set Android compilation and link flags.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28768">bpo-28768</a>: Fix implicit declaration of function _setmode. Patch by
Masayuki Yamamoto</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28762">bpo-28762</a>: lockf() is available on Android API level 24, but the F_LOCK
macro is not defined in android-ndk-r13.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28538">bpo-28538</a>: Fix the compilation error that occurs because if_nameindex() is
available on Android API level 24, but the if_nameindex structure is not
defined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20211">bpo-20211</a>: Do not add the directory for installing C header files and the
directory for installing object code libraries to the cross compilation
search paths. Original patch by Thomas Petazzoni.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28849">bpo-28849</a>: Do not define sys.implementation._multiarch on Android.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-final">
<h2>Python 3.6.0 final<a class="headerlink" href="#python-3-6-0-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-12-23</em></p>
<p>No changes since release candidate 2</p>
</div>
<div class="section" id="python-3-6-0-release-candidate-2">
<h2>Python 3.6.0 release candidate 2<a class="headerlink" href="#python-3-6-0-release-candidate-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-12-16</em></p>
<div class="section" id="id100">
<h3>Core and Builtins<a class="headerlink" href="#id100" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28147">bpo-28147</a>: Fix a memory leak in split-table dictionaries: setattr() must
not convert combined table into split table. Patch written by INADA Naoki.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28990">bpo-28990</a>: Fix asyncio SSL hanging if connection is closed before
handshake is completed. (Patch by HoHo-Ho)</p></li>
</ul>
</div>
<div class="section" id="id101">
<h3>Tools/Demos<a class="headerlink" href="#id101" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28770">bpo-28770</a>: Fix python-gdb.py for fastcalls.</p></li>
</ul>
</div>
<div class="section" id="id102">
<h3>Windows<a class="headerlink" href="#id102" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28896">bpo-28896</a>: Deprecate WindowsRegistryFinder.</p></li>
</ul>
</div>
<div class="section" id="id103">
<h3>Build<a class="headerlink" href="#id103" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28898">bpo-28898</a>: Prevent gdb build errors due to HAVE_LONG_LONG redefinition.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-release-candidate-1">
<h2>Python 3.6.0 release candidate 1<a class="headerlink" href="#python-3-6-0-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-12-06</em></p>
<div class="section" id="id104">
<h3>Core and Builtins<a class="headerlink" href="#id104" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: Rather than silently producing a class that doesn’t support
zero-argument <code class="docutils literal notranslate"><span class="pre">super()</span></code> in methods, failing to pass the new
<code class="docutils literal notranslate"><span class="pre">__classcell__</span></code> namespace entry up to <code class="docutils literal notranslate"><span class="pre">type.__new__</span></code> now results in a
<code class="docutils literal notranslate"><span class="pre">DeprecationWarning</span></code> and a class that supports zero-argument
<code class="docutils literal notranslate"><span class="pre">super()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28797">bpo-28797</a>: Modifying the class __dict__ inside the __set_name__ method of
a descriptor that is used inside that class no longer prevents calling the
__set_name__ method of other descriptors.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28782">bpo-28782</a>: Fix a bug in the implementation <code class="docutils literal notranslate"><span class="pre">yield</span> <span class="pre">from</span></code> when checking if
the next instruction is YIELD_FROM. Regression introduced by WORDCODE
(<a class="reference external" href="https://bugs.python.org/issue26647">bpo-26647</a>).</p></li>
</ul>
</div>
<div class="section" id="id105">
<h3>Library<a class="headerlink" href="#id105" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27030">bpo-27030</a>: Unknown escapes in re.sub() replacement template are allowed
again.  But they still are deprecated and will be disabled in 3.7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28835">bpo-28835</a>: Fix a regression introduced in warnings.catch_warnings(): call
warnings.showwarning() if it was overriden inside the context manager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27172">bpo-27172</a>: To assist with upgrades from 2.7, the previously documented
deprecation of <code class="docutils literal notranslate"><span class="pre">inspect.getfullargspec()</span></code> has been reversed. This
decision may be revisited again after the Python 2.7 branch is no longer
officially supported.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26273">bpo-26273</a>: Add new <code class="xref py py-data docutils literal notranslate"><span class="pre">socket.TCP_CONGESTION</span></code> (Linux 2.6.13) and
<code class="xref py py-data docutils literal notranslate"><span class="pre">socket.TCP_USER_TIMEOUT</span></code> (Linux 2.6.37) constants. Patch written by
Omar Sandoval.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24142">bpo-24142</a>: Reading a corrupt config file left configparser in an invalid
state. Original patch by Florian Höch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28843">bpo-28843</a>: Fix asyncio C Task to handle exceptions __traceback__.</p></li>
</ul>
</div>
<div class="section" id="id106">
<h3>C API<a class="headerlink" href="#id106" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</p></li>
</ul>
</div>
<div class="section" id="id107">
<h3>Documentation<a class="headerlink" href="#id107" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: The data model reference and the porting section in the What’s
New guide now cover the additional <code class="docutils literal notranslate"><span class="pre">__classcell__</span></code> handling needed for
custom metaclasses to fully support PEP 487 and zero-argument <code class="docutils literal notranslate"><span class="pre">super()</span></code>.</p></li>
</ul>
</div>
<div class="section" id="id108">
<h3>Tools/Demos<a class="headerlink" href="#id108" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28023">bpo-28023</a>: Fix python-gdb.py didn’t support new dict implementation.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-beta-4">
<h2>Python 3.6.0 beta 4<a class="headerlink" href="#python-3-6-0-beta-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-11-21</em></p>
<div class="section" id="id109">
<h3>Core and Builtins<a class="headerlink" href="#id109" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28532">bpo-28532</a>: Show sys.version when -V option is supplied twice.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27100">bpo-27100</a>: The with-statement now checks for __enter__ before it checks
for __exit__. This gives less confusing error messages when both methods
are missing. Patch by Jonathan Ellington.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28746">bpo-28746</a>: Fix the set_inheritable() file descriptor method on platforms
that do not have the ioctl FIOCLEX and FIONCLEX commands.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26920">bpo-26920</a>: Fix not getting the locale’s charset upon initializing the
interpreter, on platforms that do not have langinfo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28648">bpo-28648</a>: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X
when decode astral characters.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19398">bpo-19398</a>: Extra slash no longer added to sys.path components in case of
empty compile-time PYTHONPATH components.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28665">bpo-28665</a>: Improve speed of the STORE_DEREF opcode by 40%.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28583">bpo-28583</a>: PyDict_SetDefault didn’t combine split table when needed. Patch
by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: Change PendingDeprecationWarning -&gt; DeprecationWarning. As it
was agreed in the issue, __aiter__ returning an awaitable should result in
PendingDeprecationWarning in 3.5 and in DeprecationWarning in 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26182">bpo-26182</a>: Fix a refleak in code that raises DeprecationWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28721">bpo-28721</a>: Fix asynchronous generators aclose() and athrow() to handle
StopAsyncIteration propagation properly.</p></li>
</ul>
</div>
<div class="section" id="id110">
<h3>Library<a class="headerlink" href="#id110" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28752">bpo-28752</a>: Restored the __reduce__() methods of datetime objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28727">bpo-28727</a>: Regular expression patterns, _sre.SRE_Pattern objects created
by re.compile(), become comparable (only x==y and x!=y operators). This
change should fix the <a class="reference external" href="https://bugs.python.org/issue18383">bpo-18383</a>: don’t duplicate warning filters when
the warnings module is reloaded (thing usually only done in unit tests).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20572">bpo-20572</a>: The subprocess.Popen.wait method’s undocumented endtime
parameter now raises a DeprecationWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25659">bpo-25659</a>: In ctypes, prevent a crash calling the from_buffer() and
from_buffer_copy() methods on abstract classes like Array.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19717">bpo-19717</a>: Makes Path.resolve() succeed on paths that do not exist. Patch
by Vajrasky Kok</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28563">bpo-28563</a>: Fixed possible DoS and arbitrary code execution when handle
plural form selections in the gettext module.  The expression parser now
supports exact syntax supported by GNU gettext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28387">bpo-28387</a>: Fixed possible crash in _io.TextIOWrapper deallocator when the
garbage collector is invoked in other thread.  Based on patch by Sebastian
Cufre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28600">bpo-28600</a>: Optimize loop.call_soon.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28613">bpo-28613</a>: Fix get_event_loop() return the current loop if called from
coroutines/callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28634">bpo-28634</a>: Fix asyncio.isfuture() to support unittest.Mock.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Fix refleak in _asyncio.Future.__iter__().throw.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28639">bpo-28639</a>: Fix inspect.isawaitable to always return bool Patch by Justin
Mayfield.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28652">bpo-28652</a>: Make loop methods reject socket kinds they do not support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28653">bpo-28653</a>: Fix a refleak in functools.lru_cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28703">bpo-28703</a>: Fix asyncio.iscoroutinefunction to handle Mock objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28704">bpo-28704</a>: Fix create_unix_server to support Path-like objects (PEP 519).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28720">bpo-28720</a>: Add collections.abc.AsyncGenerator.</p></li>
</ul>
</div>
<div class="section" id="id111">
<h3>Documentation<a class="headerlink" href="#id111" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</p></li>
</ul>
</div>
<div class="section" id="id112">
<h3>Tests<a class="headerlink" href="#id112" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28666">bpo-28666</a>: Now test.support.rmtree is able to remove unwritable or
unreadable directories.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</p></li>
</ul>
</div>
<div class="section" id="id113">
<h3>Build<a class="headerlink" href="#id113" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue10656">bpo-10656</a>: Fix out-of-tree building on AIX.  Patch by Tristan Carel and
Michael Haubenwallner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename –with-optimiations to –enable-optimizations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing ‘getentropy’ declaration warning on macOS.
Patch by Gareth Rees.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-beta-3">
<h2>Python 3.6.0 beta 3<a class="headerlink" href="#python-3-6-0-beta-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-10-31</em></p>
<div class="section" id="id114">
<h3>Core and Builtins<a class="headerlink" href="#id114" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28128">bpo-28128</a>: Deprecation warning for invalid str and byte escape sequences
now prints better information about where the error occurs. Patch by
Serhiy Storchaka and Eric Smith.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28509">bpo-28509</a>: dict.update() no longer allocate unnecessary large memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
build.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28517">bpo-28517</a>: Fixed of-by-one error in the peephole optimizer that caused
keeping unreachable code.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28214">bpo-28214</a>: Improved exception reporting for problematic __set_name__
attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23782">bpo-23782</a>: Fixed possible memory leak in _PyTraceback_Add() and exception
loss in PyTraceBack_Here().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28471">bpo-28471</a>: Fix “Python memory allocator called without holding the GIL”
crash in socket.setblocking.</p></li>
</ul>
</div>
<div class="section" id="id115">
<h3>Library<a class="headerlink" href="#id115" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27517">bpo-27517</a>: LZMA compressor and decompressor no longer raise exceptions if
given empty data twice.  Patch by Benjamin Fogle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in curses’s addch() with ncurses6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28449">bpo-28449</a>: tarfile.open() with mode “r” or “r:” now tries to open a tar
file with compression before trying to open it without compression.
Otherwise it had 50% chance failed with ignore_zeros=True.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23262">bpo-23262</a>: The webbrowser module now supports Firefox 36+ and derived
browsers.  Based on patch by Oleg Broytman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27939">bpo-27939</a>: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
by representing the scale as float value internally in Tk.  tkinter.IntVar
now works if float value is set to underlying Tk variable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: The various ways of specifying weights for random.choices() now
produce the same result sequences.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28255">bpo-28255</a>: calendar.TextCalendar().prmonth() no longer prints a space at
the start of new line after printing a month’s calendar.  Patch by Xiang
Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20491">bpo-20491</a>: The textwrap.TextWrapper class now honors non-breaking spaces.
Based on patch by Kaarle Ritvanen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28353">bpo-28353</a>: os.fwalk() no longer fails on broken links.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28430">bpo-28430</a>: Fix iterator of C implemented asyncio.Future doesn’t accept
non-None value is passed to it.send(val).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27025">bpo-27025</a>: Generated names for Tkinter widgets now start by the “!” prefix
for readability.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25464">bpo-25464</a>: Fixed HList.header_exists() in tkinter.tix module by addin a
workaround to Tix library bug.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28488">bpo-28488</a>: shutil.make_archive() no longer adds entry “./” to ZIP archive.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25953">bpo-25953</a>: re.sub() now raises an error for invalid numerical group
reference in replacement template even if the pattern is not found in the
string.  Error message for invalid group reference now includes the group
index and the position of the reference. Based on patch by SilentGhost.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18219">bpo-18219</a>: Optimize csv.DictWriter for large number of columns. Patch by
Mariatta Wijaya.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28448">bpo-28448</a>: Fix C implemented asyncio.Future didn’t work on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28480">bpo-28480</a>: Fix error building socket module when multithreading is
disabled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24452">bpo-24452</a>: Make webbrowser support Chrome on Mac OS X.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20766">bpo-20766</a>: Fix references leaked by pdb in the handling of SIGINT
handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28492">bpo-28492</a>: Fix how StopIteration exception is raised in _asyncio.Future.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28500">bpo-28500</a>: Fix asyncio to handle async gens GC from another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26923">bpo-26923</a>: Fix asyncio.Gather to refuse being cancelled once all children
are done. Patch by Johannes Ebke.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26796">bpo-26796</a>: Don’t configure the number of workers for default threadpool
executor. Initial patch by Hans Lawrenz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28544">bpo-28544</a>: Implement asyncio.Task in C.</p></li>
</ul>
</div>
<div class="section" id="id116">
<h3>Windows<a class="headerlink" href="#id116" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28522">bpo-28522</a>: Fixes mishandled buffer reallocation in getpathp.c</p></li>
</ul>
</div>
<div class="section" id="id117">
<h3>Build<a class="headerlink" href="#id117" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28208">bpo-28208</a>: Update Windows build and OS X installers to use SQLite 3.14.2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28248">bpo-28248</a>: Update Windows build and OS X installers to use OpenSSL 1.0.2j.</p></li>
</ul>
</div>
<div class="section" id="id118">
<h3>Tests<a class="headerlink" href="#id118" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26944">bpo-26944</a>: Fix test_posix for Android where ‘id -G’ is entirely wrong or
missing the effective gid.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-beta-2">
<h2>Python 3.6.0 beta 2<a class="headerlink" href="#python-3-6-0-beta-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-10-10</em></p>
<div class="section" id="id119">
<h3>Core and Builtins<a class="headerlink" href="#id119" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28183">bpo-28183</a>: Optimize and cleanup dict iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26081">bpo-26081</a>: Added C implementation of asyncio.Future. Original patch by
Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28379">bpo-28379</a>: Added sanity checks and tests for PyUnicode_CopyCharacters().
Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The type of long range iterator is now registered as Iterator.
Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: Creating instances of range_iterator by calling range_iterator
type now is deprecated.  Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The constructor of range_iterator now checks that step is not
0. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26906">bpo-26906</a>: Resolving special methods of uninitialized type now causes
implicit initialization of the type instead of a fail.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18287">bpo-18287</a>: PyType_Ready() now checks that tp_name is not NULL. Original
patch by Niklas Koep.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24098">bpo-24098</a>: Fixed possible crash when AST is changed in process of
compiling it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28201">bpo-28201</a>: Dict reduces possibility of 2nd conflict in hash table when
hashes have same lower bits.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and
frozensets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with
invalid keyword args.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28203">bpo-28203</a>: Fix incorrect type in complex(1.0, {2:3}) error message. Patch
by Soumya Sharma.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28086">bpo-28086</a>: Single var-positional argument of tuple subtype was passed
unscathed to the C-defined function.  Now it is converted to exact tuple.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28214">bpo-28214</a>: Now __set_name__ is looked up on the class instead of the
instance.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27955">bpo-27955</a>: Fallback on reading /dev/urandom device when the getrandom()
syscall fails with EPERM, for example when blocked by SECCOMP.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28192">bpo-28192</a>: Don’t import readline in isolated mode.</p></li>
<li><p>Upgrade internal unicode databases to Unicode version 9.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimport’s compile_source().  zipimport
should use the same optimization level as the interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28126">bpo-28126</a>: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
optimize memcpy().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28120">bpo-28120</a>: Fix dict.pop() for splitted dictionary when trying to remove a
“pending key” (Not yet inserted in split-table). Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26182">bpo-26182</a>: Raise DeprecationWarning when async and await keywords are used
as variable/attribute/class/function name.</p></li>
</ul>
</div>
<div class="section" id="id120">
<h3>Library<a class="headerlink" href="#id120" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue27998">bpo-27998</a>: Fixed bytes path support in os.scandir() on Windows. Patch by
Eryk Sun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28317">bpo-28317</a>: The disassembler now decodes FORMAT_VALUE argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26293">bpo-26293</a>: Fixed writing ZIP files that starts not from the start of the
file.  Offsets in ZIP file now are relative to the start of the archive in
conforming to the specification.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28380">bpo-28380</a>: unittest.mock Mock autospec functions now properly support
assert_called, assert_not_called, and assert_called_once.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27181">bpo-27181</a>: remove statistics.geometric_mean and defer until 3.7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28229">bpo-28229</a>: lzma module now supports pathlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28321">bpo-28321</a>: Fixed writing non-BMP characters with binary format in
plistlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28225">bpo-28225</a>: bz2 module now supports pathlib.  Initial patch by Ethan
Furman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28227">bpo-28227</a>: gzip now supports pathlib.  Patch by Ethan Furman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27358">bpo-27358</a>: Optimized merging var-keyword arguments and improved error
message when passing a non-mapping as a var-keyword argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28257">bpo-28257</a>: Improved error message when passing a non-iterable as a
var-positional argument.  Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28322">bpo-28322</a>: Fixed possible crashes when unpickle itertools objects from
incorrect pickle data.  Based on patch by John Leitch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28228">bpo-28228</a>: imghdr now supports pathlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28226">bpo-28226</a>: compileall now supports pathlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28314">bpo-28314</a>: Fix function declaration (C flags) for the getiterator() method
of xml.etree.ElementTree.Element.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28148">bpo-28148</a>: Stop using localtime() and gmtime() in the time module.</p>
<p>Introduced platform independent _PyTime_localtime API that is similar to
POSIX localtime_r, but available on all platforms.  Patch by Ed Schouten.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28253">bpo-28253</a>: Fixed calendar functions for extreme months: 0001-01 and
9999-12.</p>
<p>Methods itermonthdays() and itermonthdays2() are reimplemented so that
they don’t call itermonthdates() which can cause datetime.date
under/overflow.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28275">bpo-28275</a>: Fixed possible use after free in the decompress() methods of
the LZMADecompressor and BZ2Decompressor classes. Original patch by John
Leitch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27897">bpo-27897</a>: Fixed possible crash in sqlite3.Connection.create_collation()
if pass invalid string-like object as a name.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: random.choices() now has k as a keyword-only argument to
improve the readability of common cases and come into line with the
signature used in other languages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18893">bpo-18893</a>: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py.
Patch by Madison May.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27611">bpo-27611</a>: Fixed support of default root window in the tkinter.tix module.
Added the master parameter in the DisplayStyle constructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27348">bpo-27348</a>: In the traceback module, restore the formatting of exception
messages like “Exception: None”.  This fixes a regression introduced in
3.5a2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25651">bpo-25651</a>: Allow falsy values to be used for msg parameter of subTest().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27778">bpo-27778</a>: Fix a memory leak in os.getrandom() when the getrandom() is
interrupted by a signal and a signal handler raises a Python exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28200">bpo-28200</a>: Fix memory leak on Windows in the os module (fix
path_converter() function).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25400">bpo-25400</a>: RobotFileParser now correctly returns default values for
crawl_delay and request_rate.  Initial patch by Peter Wirtz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p></li>
<li><p>Fix UnboundLocalError in socket._sendfile_use_sendfile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28075">bpo-28075</a>: Check for ERROR_ACCESS_DENIED in Windows implementation of
os.stat().  Patch by Eryk Sun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22493">bpo-22493</a>: Warning message emitted by using inline flags in the middle of
regular expression now contains a (truncated) regex pattern. Patch by Tim
Graham.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25270">bpo-25270</a>: Prevent codecs.escape_encode() from raising SystemError when an
empty bytestring is passed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28181">bpo-28181</a>: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25895">bpo-25895</a>: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by
Gergely Imreh and Markus Holtermann.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28114">bpo-28114</a>: Fix a crash in parse_envlist() when env contains byte strings.
Patch by Eryk Sun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27599">bpo-27599</a>: Fixed buffer overrun in binascii.b2a_qp() and
binascii.a2b_qp().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27906">bpo-27906</a>: Fix socket accept exhaustion during high TCP traffic. Patch by
Kevin Conway.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isn’t properly supported. Patch by
Seth Michael Larson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26654">bpo-26654</a>: Inspect functools.partial in asyncio.Handle.__repr__. Patch by
iceboy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26909">bpo-26909</a>: Fix slow pipes IO in asyncio. Patch by INADA Naoki.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28176">bpo-28176</a>: Fix callbacks race in asyncio.SelectorLoop.sock_connect.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27759">bpo-27759</a>: Fix selectors incorrectly retain invalid file descriptors.
Patch by Mark Williams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28368">bpo-28368</a>: Refuse monitoring processes if the child watcher has no loop
attached. Patch by Vincent Michel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transport’s FD is used with add_reader,
add_writer, etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
Марк.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28371">bpo-28371</a>: Deprecate passing asyncio.Handles to run_in_executor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28372">bpo-28372</a>: Fix asyncio to support formatting of non-python coroutines.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28399">bpo-28399</a>: Remove UNIX socket from FS before binding. Patch by Коренберг
Марк.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27972">bpo-27972</a>: Prohibit Tasks to await on themselves.</p></li>
</ul>
</div>
<div class="section" id="id121">
<h3>Windows<a class="headerlink" href="#id121" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28402">bpo-28402</a>: Adds signed catalog files for stdlib on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28333">bpo-28333</a>: Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk
Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28110">bpo-28110</a>: launcher.msi has different product codes between 32-bit and
64-bit</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28161">bpo-28161</a>: Opening CON for write access fails</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28162">bpo-28162</a>: WindowsConsoleIO readall() fails if first line starts with
Ctrl+Z</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28163">bpo-28163</a>: WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28164">bpo-28164</a>: _PyIO_get_console_type fails for various paths</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28137">bpo-28137</a>: Renames Windows path file to ._pth</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28138">bpo-28138</a>: Windows ._pth file should allow import site</p></li>
</ul>
</div>
<div class="section" id="id122">
<h3>C API<a class="headerlink" href="#id122" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Deprecated undocumented functions PyUnicode_AsEncodedObject(),
PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and
PyUnicode_AsEncodedUnicode().</p></li>
</ul>
</div>
<div class="section" id="id123">
<h3>Build<a class="headerlink" href="#id123" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28258">bpo-28258</a>: Fixed build with Estonian locale (python-config and distclean
targets in Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15819">bpo-15819</a>: Remove redundant include search directory option for building
outside the source tree.</p></li>
</ul>
</div>
<div class="section" id="id124">
<h3>Tests<a class="headerlink" href="#id124" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28217">bpo-28217</a>: Adds _testconsole module to test console input.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-beta-1">
<h2>Python 3.6.0 beta 1<a class="headerlink" href="#python-3-6-0-beta-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-09-12</em></p>
<div class="section" id="id125">
<h3>Core and Builtins<a class="headerlink" href="#id125" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23722">bpo-23722</a>: The __class__ cell used by zero-argument super() is now
initialized from type.__new__ rather than __build_class__, so class
methods relying on that will now work correctly when called from metaclass
methods during class creation. Patch by Martin Teichmann.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25221">bpo-25221</a>: Fix corrupted result from PyLong_FromLong(0) when Python is
compiled with NSMALLPOSINTS = 0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27080">bpo-27080</a>: Implement formatting support for PEP 515.  Initial patch by
Chris Angelico.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27199">bpo-27199</a>: In tarfile, expose copyfileobj bufsize to improve throughput.
Patch by Jason Fried.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27948">bpo-27948</a>: In f-strings, only allow backslashes inside the braces (where
the expressions are).  This is a breaking change from the 3.6 alpha
releases, where backslashes are allowed anywhere in an f-string.  Also,
require that expressions inside f-strings be enclosed within literal
braces, and not escapes like <code class="docutils literal notranslate"><span class="pre">f'\x7b&quot;hi&quot;\x7d'</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28046">bpo-28046</a>: Remove platform-specific directories from sys.path.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28071">bpo-28071</a>: Add early-out for differencing from an empty set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25758">bpo-25758</a>: Prevents zipimport from unnecessarily encoding a filename
(patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25856">bpo-25856</a>: The __module__ attribute of extension classes and functions now
is interned. This leads to more compact pickle data with protocol 4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27213">bpo-27213</a>: Rework CALL_FUNCTION* opcodes to produce shorter and more
efficient bytecode. Patch by Demur Rumed, design by Serhiy Storchaka,
reviewed by Serhiy Storchaka and Victor Stinner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26331">bpo-26331</a>: Implement tokenizing support for PEP 515. Patch by Georg
Brandl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27999">bpo-27999</a>: Make “global after use” a SyntaxError, and ditto for nonlocal.
Patch by Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28003">bpo-28003</a>: Implement PEP 525 – Asynchronous Generators.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27985">bpo-27985</a>: Implement PEP 526 – Syntax for Variable Annotations. Patch by
Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26058">bpo-26058</a>: Add a new private version to the builtin dict type, incremented
at each dictionary creation and at each dictionary change. Implementation
of the PEP 509.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27364">bpo-27364</a>: A backslash-character pair that is not a valid escape sequence
now generates a DeprecationWarning.  Patch by Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27350">bpo-27350</a>: <a class="reference internal" href="../library/stdtypes.html#dict" title="dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dict</span></code></a> implementation is changed like PyPy. It is more compact
and preserves insertion order. (Concept developed by Raymond Hettinger and
patch by Inada Naoki.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27911">bpo-27911</a>: Remove unnecessary error checks in
<code class="docutils literal notranslate"><span class="pre">exec_builtin_or_dynamic()</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27078">bpo-27078</a>: Added BUILD_STRING opcode.  Optimized f-strings evaluation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17884">bpo-17884</a>: Python now requires systems with inttypes.h and stdint.h</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27961">bpo-27961</a>: Require platforms to support <code class="docutils literal notranslate"><span class="pre">long</span> <span class="pre">long</span></code>. Python hasn’t
compiled without <code class="docutils literal notranslate"><span class="pre">long</span> <span class="pre">long</span></code> for years, so this is basically a
formality.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27355">bpo-27355</a>: Removed support for Windows CE.  It was never finished, and
Windows CE is no longer a relevant platform for Python.</p></li>
<li><p>Implement PEP 523.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27870">bpo-27870</a>: A left shift of zero by a large integer no longer attempts to
allocate large amounts of memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25402">bpo-25402</a>: In int-to-decimal-string conversion, improve the estimate of
the intermediate memory required, and remove an unnecessarily strict
overflow check. Patch by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27214">bpo-27214</a>: In long_invert, be more careful about modifying object returned
by long_add, and remove an unnecessary check for small longs. Thanks Oren
Milman for analysis and patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27506">bpo-27506</a>: Support passing the bytes/bytearray.translate() “delete”
argument by keyword.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27812">bpo-27812</a>: Properly clear out a generator’s frame’s backreference to the
generator to prevent crashes in frame.clear().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27811">bpo-27811</a>: Fix a crash when a coroutine that has not been awaited is
finalized with warnings-as-errors enabled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27587">bpo-27587</a>: Fix another issue found by PVS-Studio: Null pointer check after
use of ‘def’ in _PyState_AddModule(). Initial patch by Christian Heimes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27792">bpo-27792</a>: The modulo operation applied to <code class="docutils literal notranslate"><span class="pre">bool</span></code> and other <code class="docutils literal notranslate"><span class="pre">int</span></code>
subclasses now always returns an <code class="docutils literal notranslate"><span class="pre">int</span></code>. Previously the return type
depended on the input values. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26984">bpo-26984</a>: int() now always returns an instance of exact int.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25604">bpo-25604</a>: Fix a minor bug in integer true division; this bug could
potentially have caused off-by-one-ulp results on platforms with
unreliable ldexp implementations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24254">bpo-24254</a>: Make class definition namespace ordered by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27662">bpo-27662</a>: Fix an overflow check in <code class="docutils literal notranslate"><span class="pre">List_New</span></code>: the original code was
checking against <code class="docutils literal notranslate"><span class="pre">Py_SIZE_MAX</span></code> instead of the correct upper bound of
<code class="docutils literal notranslate"><span class="pre">Py_SSIZE_T_MAX</span></code>. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27782">bpo-27782</a>: Multi-phase extension module import now correctly allows the
<code class="docutils literal notranslate"><span class="pre">m_methods</span></code> field to be used to add module level functions to instances
of non-module types returned from <code class="docutils literal notranslate"><span class="pre">Py_create_mod</span></code>. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27936">bpo-27936</a>: The round() function accepted a second None argument for some
types but not for others.  Fixed the inconsistency by accepting None for
all numeric types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27487">bpo-27487</a>: Warn if a submodule argument to “python -m” or
runpy.run_module() is found in sys.modules after parent packages are
imported, but before the submodule is executed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27157">bpo-27157</a>: Make only type() itself accept the one-argument form. Patch by
Eryk Sun and Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27558">bpo-27558</a>: Fix a SystemError in the implementation of “raise” statement.
In a brand new thread, raise a RuntimeError since there is no active
exception to reraise. Patch written by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28008">bpo-28008</a>: Implement PEP 530 – asynchronous comprehensions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: Fix memory leak in codeobject.c</p></li>
</ul>
</div>
<div class="section" id="id126">
<h3>Library<a class="headerlink" href="#id126" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28732">bpo-28732</a>: Fix crash in os.spawnv() with no elements in args</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28485">bpo-28485</a>: Always raise ValueError for negative
compileall.compile_dir(workers=…) parameter, even when multithreading is
unavailable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28037">bpo-28037</a>: Use sqlite3_get_autocommit() instead of setting
Connection-&gt;inTransaction manually.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25283">bpo-25283</a>: Attributes tm_gmtoff and tm_zone are now available on all
platforms in the return values of time.localtime() and time.gmtime().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24454">bpo-24454</a>: Regular expression match object groups are now accessible using
__getitem__. “mo[x]” is equivalent to “mo.group(x)”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10740">bpo-10740</a>: sqlite3 no longer implicitly commit an open transaction before
DDL statements.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17941">bpo-17941</a>: Add a <em>module</em> parameter to collections.namedtuple().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22493">bpo-22493</a>: Inline flags now should be used only at the start of the
regular expression. Deprecation warning is emitted if uses them in the
middle of the regular expression.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26885">bpo-26885</a>: xmlrpc now supports unmarshalling additional data types used by
Apache XML-RPC implementation for numerics and None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28070">bpo-28070</a>: Fixed parsing inline verbose flag in regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19500">bpo-19500</a>: Add client-side SSL session resumption to the ssl module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28022">bpo-28022</a>: Deprecate ssl-related arguments in favor of SSLContext. The
deprecation include manual creation of SSLSocket and certfile/keyfile (or
similar) in ftplib, httplib, imaplib, smtplib, poplib and urllib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28043">bpo-28043</a>: SSLContext has improved default settings: OP_NO_SSLv2,
OP_NO_SSLv3, OP_NO_COMPRESSION, OP_CIPHER_SERVER_PREFERENCE,
OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE and HIGH ciphers without MD5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24693">bpo-24693</a>: Changed some RuntimeError’s in the zipfile module to more
appropriate types. Improved some error messages and debugging output.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17909">bpo-17909</a>: <code class="docutils literal notranslate"><span class="pre">json.load</span></code> and <code class="docutils literal notranslate"><span class="pre">json.loads</span></code> now support binary input
encoded as UTF-8, UTF-16 or UTF-32. Patch by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27137">bpo-27137</a>: the pure Python fallback implementation of
<code class="docutils literal notranslate"><span class="pre">functools.partial</span></code> now matches the behaviour of its accelerated C
counterpart for subclassing, pickling and text representation purposes.
Patch by Emanuel Barry and Serhiy Storchaka.</p></li>
<li><p>Fix possible integer overflows and crashes in the mmap module with unusual
usage patterns.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1703178">bpo-1703178</a>: Fix the ability to pass the –link-objects option to the
distutils build_ext command.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28019">bpo-28019</a>: itertools.count() no longer rounds non-integer step in range
between 1.0 and 2.0 to 1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18401">bpo-18401</a>: Pdb now supports the ‘readrc’ keyword argument to control
whether .pdbrc files should be read.  Patch by Martin Matusiak and Sam
Kimbrel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25969">bpo-25969</a>: Update the lib2to3 grammar to handle the unpacking
generalizations added in 3.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14977">bpo-14977</a>: mailcap now respects the order of the lines in the mailcap
files (“first match”), as required by RFC 1542.  Patch by Michael Lazar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28082">bpo-28082</a>: Convert re flag constants to IntFlag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28025">bpo-28025</a>: Convert all ssl module constants to IntEnum and IntFlags.
SSLContext properties now return flags and enums.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23591">bpo-23591</a>: Add Flag, IntFlag, and auto() to enum module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue433028">bpo-433028</a>: Added support of modifier spans in regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24594">bpo-24594</a>: Validates persist parameter when opening MSI database</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17582">bpo-17582</a>: xml.etree.ElementTree nows preserves whitespaces in attributes
(Patch by Duane Griffin.  Reviewed and approved by Stefan Behnel.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28047">bpo-28047</a>: Fixed calculation of line length used for the base64 CTE in the
new email policies.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27576">bpo-27576</a>: Fix call order in OrderedDict.__init__().</p></li>
<li><p>email.generator.DecodedGenerator now supports the policy keyword.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28027">bpo-28027</a>: Remove undocumented modules from <code class="docutils literal notranslate"><span class="pre">Lib/plat-*</span></code>: IN, CDROM,
DLFCN, TYPES, CDIO, and STROPTS.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27445">bpo-27445</a>: Don’t pass str(_charset) to MIMEText.set_payload(). Patch by
Claude Paroz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24277">bpo-24277</a>: The new email API is no longer provisional, and the docs have
been reorganized and rewritten to emphasize the new API.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22450">bpo-22450</a>: urllib now includes an <code class="docutils literal notranslate"><span class="pre">Accept:</span> <span class="pre">*/*</span></code> header among the default
headers. This makes the results of REST API requests more consistent and
predictable especially when proxy servers are involved.</p></li>
<li><p>lib2to3.pgen3.driver.load_grammar() now creates a stable cache file
between runs given the same Grammar.txt input regardless of the hash
randomization setting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28005">bpo-28005</a>: Allow ImportErrors in encoding implementation to propagate.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26667">bpo-26667</a>: Support path-like objects in importlib.util.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27570">bpo-27570</a>: Avoid zero-length memcpy() etc calls with null source pointers
in the “ctypes” and “array” modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22233">bpo-22233</a>: Break email header lines <em>only</em> on the RFC specified CR and LF
characters, not on arbitrary unicode line breaks.  This also fixes a bug
in HTTP header parsing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27331">bpo-27331</a>: The email.mime classes now all accept an optional policy
keyword.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27988">bpo-27988</a>: Fix email iter_attachments incorrect mutation of payload list.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16113">bpo-16113</a>: Add SHA-3 and SHAKE support to hashlib module.</p></li>
<li><p>Eliminate a tautological-pointer-compare warning in _scproxy.c.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27776">bpo-27776</a>: The <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> function does now block on Linux 3.17
and newer until the system urandom entropy pool is initialized to increase
the security. This change is part of the <span class="target" id="index-3"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0524"><strong>PEP 524</strong></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27778">bpo-27778</a>: Expose the Linux <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> syscall as a new
<a class="reference internal" href="../library/os.html#os.getrandom" title="os.getrandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.getrandom()</span></code></a> function. This change is part of the <span class="target" id="index-4"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0524"><strong>PEP 524</strong></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27691">bpo-27691</a>: Fix ssl module’s parsing of GEN_RID subject alternative name
fields in X.509 certs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18844">bpo-18844</a>: Add random.choices().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25761">bpo-25761</a>: Improved error reporting about truncated pickle data in C
implementation of unpickler.  UnpicklingError is now raised instead of
AttributeError and ValueError in some cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26798">bpo-26798</a>: Add BLAKE2 (blake2b and blake2s) to hashlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26032">bpo-26032</a>: Optimized globbing in pathlib by using os.scandir(); it is now
about 1.5–4 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25596">bpo-25596</a>: Optimized glob() and iglob() functions in the glob module; they
are now about 3–6 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27928">bpo-27928</a>: Add scrypt (password-based key derivation function) to hashlib
module (requires OpenSSL 1.1.0).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27850">bpo-27850</a>: Remove 3DES from ssl module’s default cipher list to counter
measure sweet32 attack (CVE-2016-2183).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27766">bpo-27766</a>: Add ChaCha20 Poly1305 to ssl module’s default cipher list.
(Required OpenSSL 1.1.0 or LibreSSL).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25387">bpo-25387</a>: Check return value of winsound.MessageBeep.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27866">bpo-27866</a>: Add SSLContext.get_ciphers() method to get a list of all
enabled ciphers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27744">bpo-27744</a>: Add AF_ALG (Linux Kernel crypto) to socket module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26470">bpo-26470</a>: Port ssl and hashlib module to OpenSSL 1.1.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11620">bpo-11620</a>: Fix support for SND_MEMORY in winsound.PlaySound.  Based on a
patch by Tim Lesher.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11734">bpo-11734</a>: Add support for IEEE 754 half-precision floats to the struct
module. Based on a patch by Eli Stevens.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27919">bpo-27919</a>: Deprecated <code class="docutils literal notranslate"><span class="pre">extra_path</span></code> distribution option in distutils
packaging.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23229">bpo-23229</a>: Add new <code class="docutils literal notranslate"><span class="pre">cmath</span></code> constants: <code class="docutils literal notranslate"><span class="pre">cmath.inf</span></code> and <code class="docutils literal notranslate"><span class="pre">cmath.nan</span></code> to
match <code class="docutils literal notranslate"><span class="pre">math.inf</span></code> and <code class="docutils literal notranslate"><span class="pre">math.nan</span></code>, and also <code class="docutils literal notranslate"><span class="pre">cmath.infj</span></code> and
<code class="docutils literal notranslate"><span class="pre">cmath.nanj</span></code> to match the format used by complex repr.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27842">bpo-27842</a>: The csv.DictReader now returns rows of type OrderedDict.
(Contributed by Steve Holden.)</p></li>
<li><p>Remove support for passing a file descriptor to os.access. It never worked
but previously didn’t raise.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12885">bpo-12885</a>: Fix error when distutils encounters symlink.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27881">bpo-27881</a>: Fixed possible bugs when setting
sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27861">bpo-27861</a>: Fixed a crash in sqlite3.Connection.cursor() when a factory
creates not a cursor.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19884">bpo-19884</a>: Avoid spurious output on OS X with Gnu Readline.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27706">bpo-27706</a>: Restore deterministic behavior of random.Random().seed() for
string seeds using seeding version 1.  Allows sequences of calls to
random() to exactly match those obtained in Python 2. Patch by Nofar
Schnider.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10513">bpo-10513</a>: Fix a regression in Connection.commit().  Statements should not
be reset after a commit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12319">bpo-12319</a>: Chunked transfer encoding support added to
http.client.HTTPConnection requests.  The
urllib.request.AbstractHTTPHandler class does not enforce a Content-Length
header any more.  If a HTTP request has a file or iterable body, but no
Content-Length header, the library now falls back to use chunked
transfer-encoding.</p></li>
<li><p>A new version of typing.py from <a class="reference external" href="https://github.com/python/typing">https://github.com/python/typing</a>: -
Collection (only for 3.6) (<a class="reference external" href="https://bugs.python.org/issue27598">bpo-27598</a>) - Add FrozenSet to __all__
(upstream #261) - fix crash in _get_type_vars() (upstream #259) - Remove
the dict constraint in ForwardRef._eval_type (upstream #252)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27832">bpo-27832</a>: Make <code class="docutils literal notranslate"><span class="pre">_normalize</span></code> parameter to <code class="docutils literal notranslate"><span class="pre">Fraction</span></code> constuctor
keyword-only, so that <code class="docutils literal notranslate"><span class="pre">Fraction(2,</span> <span class="pre">3,</span> <span class="pre">4)</span></code> now raises <code class="docutils literal notranslate"><span class="pre">TypeError</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27539">bpo-27539</a>: Fix unnormalised <code class="docutils literal notranslate"><span class="pre">Fraction.__pow__</span></code> result in the case of
negative exponent and negative base.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21718">bpo-21718</a>: cursor.description is now available for queries using CTEs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27819">bpo-27819</a>: In distutils sdists, simply produce the “gztar” (gzipped tar
format) distributions on all platforms unless “formats” is supplied.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2466">bpo-2466</a>: posixpath.ismount now correctly recognizes mount points which
the user does not have permission to access.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9998">bpo-9998</a>: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH
for shared libraries.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27573">bpo-27573</a>: exit message for code.interact is now configurable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27930">bpo-27930</a>: Improved behaviour of logging.handlers.QueueListener. Thanks to
Paulo Andrade and Petr Viktorin for the analysis and patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6766">bpo-6766</a>: Distributed reference counting added to multiprocessing to
support nesting of shared values / proxy objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21201">bpo-21201</a>: Improves readability of multiprocessing error message.  Thanks
to Wojciech Walczak for patch.</p></li>
<li><p>asyncio: Add set_protocol / get_protocol to Transports.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: asyncio: Set TCP_NODELAY by default.</p></li>
</ul>
</div>
<div class="section" id="id127">
<h3>IDLE<a class="headerlink" href="#id127" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue15308">bpo-15308</a>: Add ‘interrupt execution’ (^C) to Shell menu. Patch by Roger
Serwy, updated by Bayard Randel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27922">bpo-27922</a>: Stop IDLE tests from ‘flashing’ gui widgets on the screen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27891">bpo-27891</a>: Consistently group and sort imports within idlelib modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17642">bpo-17642</a>: add larger font sizes for classroom projection.</p></li>
<li><p>Add version to title of IDLE help window.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25564">bpo-25564</a>: In section on IDLE – console differences, mention that using
exec means that __builtins__ is defined for each statement.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27821">bpo-27821</a>: Fix 3.6.0a3 regression that prevented custom key sets from
being selected when no custom theme was defined.</p></li>
</ul>
</div>
<div class="section" id="id128">
<h3>C API<a class="headerlink" href="#id128" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26900">bpo-26900</a>: Excluded underscored names and other private API from limited
API.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26027">bpo-26027</a>: Add support for path-like objects in PyUnicode_FSConverter() &amp;
PyUnicode_FSDecoder().</p></li>
</ul>
</div>
<div class="section" id="id129">
<h3>Tests<a class="headerlink" href="#id129" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27427">bpo-27427</a>: Additional tests for the math module. Patch by Francisco Couzo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27953">bpo-27953</a>: Skip math and cmath tests that fail on OS X 10.4 due to a poor
libm implementation of tan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26040">bpo-26040</a>: Improve test_math and test_cmath coverage and rigour. Patch by
Jeff Allen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27787">bpo-27787</a>: Call gc.collect() before checking each test for “dangling
threads”, since the dangling threads are weak references.</p></li>
</ul>
</div>
<div class="section" id="id130">
<h3>Build<a class="headerlink" href="#id130" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27566">bpo-27566</a>: Fix clean target in freeze makefile (patch by Lisa Roach)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27705">bpo-27705</a>: Update message in validate_ucrtbase.py</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27976">bpo-27976</a>: Deprecate building _ctypes with the bundled copy of libffi on
non-OSX UNIX platforms.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27983">bpo-27983</a>: Cause lack of llvm-profdata tool when using clang as required
for PGO linking to be a configure time error rather than make time when
<code class="docutils literal notranslate"><span class="pre">--with-optimizations</span></code> is enabled.  Also improve our ability to find the
llvm-profdata tool on MacOS and some Linuxes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21590">bpo-21590</a>: Support for DTrace and SystemTap probes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26307">bpo-26307</a>: The profile-opt build now applies PGO to the built-in modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Add the –with-optimizations flag to turn on LTO and PGO build
support when available.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27917">bpo-27917</a>: Set platform triplets for Android builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25825">bpo-25825</a>: Update references to the $(LIBPL) installation path on AIX.
This path was changed in 3.2a4.</p></li>
<li><p>Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21122">bpo-21122</a>: Fix LTO builds on OS X.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17128">bpo-17128</a>: Build OS X installer with a private copy of OpenSSL. Also
provide a sample Install Certificates command script to install a set of
root certificates from the third-party certifi module.</p></li>
</ul>
</div>
<div class="section" id="id131">
<h3>Tools/Demos<a class="headerlink" href="#id131" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27952">bpo-27952</a>: Get Tools/scripts/fixcid.py working with Python 3 and the
current “re” module, avoid invalid Python backslash escapes, and fix a bug
parsing escaped C quote signs.</p></li>
</ul>
</div>
<div class="section" id="id132">
<h3>Windows<a class="headerlink" href="#id132" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28065">bpo-28065</a>: Update xz dependency to 5.2.2 and build it from source.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25144">bpo-25144</a>: Ensures TargetDir is set before continuing with custom install.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1602">bpo-1602</a>: Windows console doesn’t input or print Unicode (PEP 528)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27781">bpo-27781</a>: Change file system encoding on Windows to UTF-8 (PEP 529)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27731">bpo-27731</a>: Opt-out of MAX_PATH on Windows 10</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6135">bpo-6135</a>: Adds encoding and errors parameters to subprocess.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27959">bpo-27959</a>: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to codec
lookup.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27982">bpo-27982</a>: The functions of the winsound module now accept keyword
arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20366">bpo-20366</a>: Build full text search support into SQLite on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27756">bpo-27756</a>: Adds new icons for Python files and processes on Windows.
Designs by Cherry Wang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27883">bpo-27883</a>: Update sqlite to 3.14.1.0 on Windows.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-alpha-4">
<h2>Python 3.6.0 alpha 4<a class="headerlink" href="#python-3-6-0-alpha-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-08-15</em></p>
<div class="section" id="id133">
<h3>Core and Builtins<a class="headerlink" href="#id133" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27704">bpo-27704</a>: Optimized creating bytes and bytearray from byte-like objects
and iterables. Speed up to 3 times for short objects.  Original patch by
Naoki Inada.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26823">bpo-26823</a>: Large sections of repeated lines in tracebacks are now
abbreviated as “[Previous line repeated {count} more times]” by the
builtin traceback rendering. Patch by Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27574">bpo-27574</a>: Decreased an overhead of parsing keyword arguments in functions
implemented with using Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22557">bpo-22557</a>: Now importing already imported modules is up to 2.5 times
faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17596">bpo-17596</a>: Include &lt;wincrypt.h&gt; to help with Min GW building.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17599">bpo-17599</a>: On Windows, rename the privately defined REPARSE_DATA_BUFFER
structure to avoid conflicting with the definition from Min GW.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27507">bpo-27507</a>: Add integer overflow check in bytearray.extend().  Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27581">bpo-27581</a>: Don’t rely on wrapping for overflow check in
PySequence_Tuple().  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Avoid signed integer overflow in list and tuple operations.
Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27419">bpo-27419</a>: Standard __import__() no longer look up “__import__” in globals
or builtins for importing submodules or “from import”.  Fixed a crash if
raise a warning about unabling to resolve package from __spec__ or
__package__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27083">bpo-27083</a>: Respect the PYTHONCASEOK environment variable under Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27514">bpo-27514</a>: Make having too many statically nested blocks a SyntaxError
instead of SystemError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27366">bpo-27366</a>: Implemented PEP 487 (Simpler customization of class creation).
Upon subclassing, the __init_subclass__ classmethod is called on the base
class. Descriptors are initialized with __set_name__ after class creation.</p></li>
</ul>
</div>
<div class="section" id="id134">
<h3>Library<a class="headerlink" href="#id134" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26027">bpo-26027</a>: Add PEP 519/__fspath__() support to the os and os.path modules.
Includes code from Jelle Zijlstra. (See also: <a class="reference external" href="https://bugs.python.org/issue27524">bpo-27524</a>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27598">bpo-27598</a>: Add Collections to collections.abc. Patch by Ivan Levkivskyi,
docs by Neil Girdhar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25958">bpo-25958</a>: Support “anti-registration” of special methods from various
ABCs, like __hash__, __iter__ or __len__.  All these (and several more)
can be set to None in an implementation class and the behavior will be as
if the method is not defined at all. (Previously, this mechanism existed
only for __hash__, to make mutable classes unhashable.)  Code contributed
by Andrew Barnert and Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16764">bpo-16764</a>: Support keyword arguments to zlib.decompress().  Patch by Xiang
Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27736">bpo-27736</a>: Prevent segfault after interpreter re-initialization due to ref
count problem introduced in code for <a class="reference external" href="https://bugs.python.org/issue27038">bpo-27038</a> in 3.6.0a3. Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25628">bpo-25628</a>: The <em>verbose</em> and <em>rename</em> parameters for
collections.namedtuple are now keyword-only.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12345">bpo-12345</a>: Add mathematical constant tau to math and cmath. See also PEP
628.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26823">bpo-26823</a>: traceback.StackSummary.format now abbreviates large sections of
repeated lines as “[Previous line repeated {count} more times]” (this
change then further affects other traceback display operations in the
module). Patch by Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27664">bpo-27664</a>: Add to concurrent.futures.thread.ThreadPoolExecutor() the
ability to specify a thread name prefix.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27181">bpo-27181</a>: Add geometric_mean and harmonic_mean to statistics module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27573">bpo-27573</a>: code.interact now prints an message when exiting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6422">bpo-6422</a>: Add autorange method to timeit.Timer objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27773">bpo-27773</a>: Correct some memory management errors server_hostname in
_ssl.wrap_socket().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26750">bpo-26750</a>: unittest.mock.create_autospec() now works properly for
subclasses of property() and other data descriptors.  Removes the never
publicly used, never documented unittest.mock.DescriptorTypes tuple.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: Undocumented support of general bytes-like objects as path in
compile() and similar functions is now deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26800">bpo-26800</a>: Undocumented support of general bytes-like objects as paths in
os functions is now deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26981">bpo-26981</a>: Add _order_ compatibility shim to enum.Enum for Python 2/3 code
bases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27661">bpo-27661</a>: Added tzinfo keyword argument to datetime.combine.</p></li>
<li><p>In the curses module, raise an error if window.getstr() or window.instr()
is passed a negative value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27783">bpo-27783</a>: Fix possible usage of uninitialized memory in
operator.methodcaller.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27774">bpo-27774</a>: Fix possible Py_DECREF on unowned object in _sre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27760">bpo-27760</a>: Fix possible integer overflow in binascii.b2a_qp.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27758">bpo-27758</a>: Fix possible integer overflow in the _csv module for large
record lengths.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27568">bpo-27568</a>: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
HTTP_PROXY variable when REQUEST_METHOD environment is set, which
indicates that the script is in CGI mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7063">bpo-7063</a>: Remove dead code from the “array” module’s slice handling. Patch
by Chuck.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27656">bpo-27656</a>: Do not assume sched.h defines any SCHED_* constants.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27130">bpo-27130</a>: In the “zlib” module, fix handling of large buffers (typically
4 GiB) when compressing and decompressing.  Previously, inputs were
limited to 4 GiB, and compression and decompression operations did not
properly handle results of 4 GiB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24773">bpo-24773</a>: Implemented PEP 495 (Local Time Disambiguation).</p></li>
<li><p>Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27567">bpo-27567</a>: Expose the EPOLLRDHUP and POLLRDHUP constants in the select
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1621">bpo-1621</a>: Avoid signed int negation overflow in the “audioop” module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27533">bpo-27533</a>: Release GIL in nt._isdir</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17711">bpo-17711</a>: Fixed unpickling by the persistent ID with protocol 0. Original
patch by Alexandre Vassalotti.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27522">bpo-27522</a>: Avoid an unintentional reference cycle in email.feedparser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27512">bpo-27512</a>: Fix a segfault when os.fspath() called an __fspath__() method
that raised an exception. Patch by Xiang Zhang.</p></li>
</ul>
</div>
<div class="section" id="id135">
<h3>IDLE<a class="headerlink" href="#id135" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27714">bpo-27714</a>: text_textview and test_autocomplete now pass when re-run in the
same process.  This occurs when test_idle fails when run with the -w
option but without -jn.  Fix warning from test_config.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27621">bpo-27621</a>: Put query response validation error messages in the query box
itself instead of in a separate messagebox.  Redo tests to match. Add Mac
OSX refinements. Original patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27620">bpo-27620</a>: Escape key now closes Query box as cancelled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27609">bpo-27609</a>: IDLE: tab after initial whitespace should tab, not
autocomplete. This fixes problem with writing docstrings at least twice
indented.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27609">bpo-27609</a>: Explicitly return None when there are also non-None returns. In
a few cases, reverse a condition and eliminate a return.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: IDLE no longer runs buggy code because of its tkinter imports.
Users must include the same imports required to run directly in Python.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27173">bpo-27173</a>: Add ‘IDLE Modern Unix’ to the built-in key sets. Make the
default key set depend on the platform. Add tests for the changes to the
config module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</p></li>
</ul>
</div>
<div class="section" id="id136">
<h3>Tests<a class="headerlink" href="#id136" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25805">bpo-25805</a>: Skip a test in test_pkgutil as needed that doesn’t work when
<code class="docutils literal notranslate"><span class="pre">__name__</span> <span class="pre">==</span> <span class="pre">__main__</span></code>. Patch by SilentGhost.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27472">bpo-27472</a>: Add test.support.unix_shell as the path to the default shell.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27369">bpo-27369</a>: In test_pyexpat, avoid testing an error message detail that
changed in Expat 2.2.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27594">bpo-27594</a>: Prevent assertion error when running test_ast with coverage
enabled: ensure code object has a valid first line number. Patch suggested
by Ivan Levkivskyi.</p></li>
</ul>
</div>
<div class="section" id="id137">
<h3>Windows<a class="headerlink" href="#id137" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27647">bpo-27647</a>: Update bundled Tcl/Tk to 8.6.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27610">bpo-27610</a>: Adds PEP 514 metadata to Windows installer</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27469">bpo-27469</a>: Adds a shell extension to the launcher so that drag and drop
works correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27309">bpo-27309</a>: Enables proper Windows styles in python[w].exe manifest.</p></li>
</ul>
</div>
<div class="section" id="id138">
<h3>Build<a class="headerlink" href="#id138" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27713">bpo-27713</a>: Suppress spurious build warnings when updating importlib’s
bootstrap files. Patch by Xiang Zhang</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25825">bpo-25825</a>: Correct the references to Modules/python.exp, which is required
on AIX.  The references were accidentally changed in 3.5.0a1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27453">bpo-27453</a>: CPP invocation in configure must use CPPFLAGS. Patch by Chi
Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27641">bpo-27641</a>: The configure script now inserts comments into the makefile to
prevent the pgen and _freeze_importlib executables from being
cross-compiled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26662">bpo-26662</a>: Set PYTHON_FOR_GEN in configure as the Python program to be
used for file generation during the build.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10910">bpo-10910</a>: Avoid C++ compilation errors on FreeBSD and OS X. Also update
FreedBSD version checks for the original ctype UTF-8 workaround.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-alpha-3">
<h2>Python 3.6.0 alpha 3<a class="headerlink" href="#python-3-6-0-alpha-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-07-11</em></p>
<div class="section" id="id139">
<h3>Core and Builtins<a class="headerlink" href="#id139" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27473">bpo-27473</a>: Fixed possible integer overflow in bytes and bytearray
concatenations. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23034">bpo-23034</a>: The output of a special Python build with defined COUNT_ALLOCS,
SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by  default.  It
can be re-enabled using the “-X showalloccount” option.  It now outputs to
stderr instead of stdout.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27443">bpo-27443</a>: __length_hint__() of bytearray iterators no longer return a
negative integer for a resized bytearray.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27007">bpo-27007</a>: The fromhex() class methods of bytes and bytearray subclasses
now return an instance of corresponding subclass.</p></li>
</ul>
</div>
<div class="section" id="id140">
<h3>Library<a class="headerlink" href="#id140" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26844">bpo-26844</a>: Fix error message for imp.find_module() to refer to ‘path’
instead of ‘name’. Patch by Lev Maximov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL zero-length recv() calls to not block and not raise an
error about unclean EOF.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27466">bpo-27466</a>: Change time format returned by http.cookie.time2netscape,
confirming the netscape cookie format and making it consistent with
documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21708">bpo-21708</a>: Deprecated dbm.dumb behavior that differs from common dbm
behavior: creating a database in ‘r’ and ‘w’ modes and modifying a
database in ‘r’ mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26721">bpo-26721</a>: Change the socketserver.StreamRequestHandler.wfile attribute to
implement BufferedIOBase. In particular, the write() method no longer does
partial writes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22115">bpo-22115</a>: Added methods trace_add, trace_remove and trace_info in the
tkinter.Variable class.  They replace old methods trace_variable, trace,
trace_vdelete and trace_vinfo that use obsolete Tcl commands and might not
work in future versions of Tcl.  Fixed old tracing methods:
trace_vdelete() with wrong mode no longer break tracing, trace_vinfo() now
always returns a list of pairs of strings, tracing in the “u” mode now
works.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26243">bpo-26243</a>: Only the level argument to zlib.compress() is keyword argument
now.  The first argument is positional-only.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27038">bpo-27038</a>: Expose the DirEntry type as os.DirEntry. Code patch by Jelle
Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Update os.fspath()/PyOS_FSPath() to check the return value of
__fspath__() to be either str or bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18726">bpo-18726</a>: All optional parameters of the dump(), dumps(), load() and
loads() functions and JSONEncoder and JSONDecoder class constructors in
the json module are now keyword-only.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27319">bpo-27319</a>: Methods selection_set(), selection_add(), selection_remove()
and selection_toggle() of ttk.TreeView now allow passing multiple items as
multiple arguments instead of passing them as a tuple.  Deprecated
undocumented ability of calling the selection() method with arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27079">bpo-27079</a>: Fixed curses.ascii functions isblank(), iscntrl() and
ispunct().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27294">bpo-27294</a>: Numerical state in the repr for Tkinter event objects is now
represented as a combination of known flags.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27177">bpo-27177</a>: Match objects in the re module now support index-like objects
as group indices.  Based on patches by Jeroen Demeyer and Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: Some functions (compile() etc) accepted a filename argument
encoded as an iterable of integers. Now only strings and byte-like objects
are accepted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26536">bpo-26536</a>: socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by
Daniel Stokes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27048">bpo-27048</a>: Prevents distutils failing on Windows when environment
variables contain non-ASCII characters</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27330">bpo-27330</a>: Fixed possible leaks in the ctypes module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27238">bpo-27238</a>: Got rid of bare excepts in the turtle module.  Original patch
by Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27122">bpo-27122</a>: When an exception is raised within the context being managed by
a contextlib.ExitStack() and one of the exit stack generators catches and
raises it in a chain, do not re-raise the original exception when exiting,
let the new chained one through.  This avoids the PEP 479 bug described in
issue25782.</p></li>
</ul>
</div>
<div class="section" id="id141">
<h3>Security<a class="headerlink" href="#id141" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27278">bpo-27278</a>: Fix os.urandom() implementation using getrandom() on Linux.
Truncate size to INT_MAX and loop until we collected enough random bytes,
instead of casting a directly Py_ssize_t to int.</p></li>
</ul>
</div>
<div class="section" id="id142">
<h3>Library<a class="headerlink" href="#id142" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue16864">bpo-16864</a>: sqlite3.Cursor.lastrowid now supports REPLACE statement.
Initial patch by Alex LordThorsen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26386">bpo-26386</a>: Fixed ttk.TreeView selection operations with item id’s
containing spaces.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8637">bpo-8637</a>: Honor a pager set by the env var MANPAGER (in preference to one
set by the env var PAGER).</p></li>
</ul>
</div>
<div class="section" id="id143">
<h3>Security<a class="headerlink" href="#id143" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22636">bpo-22636</a>: Avoid shell injection problems with ctypes.util.find_library().</p></li>
</ul>
</div>
<div class="section" id="id144">
<h3>Library<a class="headerlink" href="#id144" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue16182">bpo-16182</a>: Fix various functions in the “readline” module to use the
locale encoding, and fix get_begidx() and get_endidx() to return code
point indexes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27392">bpo-27392</a>: Add loop.connect_accepted_socket(). Patch by Jim Fulton.</p></li>
</ul>
</div>
<div class="section" id="id145">
<h3>IDLE<a class="headerlink" href="#id145" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27477">bpo-27477</a>: IDLE search dialogs now use ttk widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27173">bpo-27173</a>: Add ‘IDLE Modern Unix’ to the built-in key sets. Make the
default key set depend on the platform. Add tests for the changes to the
config module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: make command line “idle-test&gt; python test_help.py” work.
__file__ is relative when python is started in the file’s directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27380">bpo-27380</a>: IDLE: add query.py with base Query dialog and ttk widgets.
Module had subclasses SectionName, ModuleName, and HelpSource, which are
used to get information from users by configdialog and file =&gt;Load Module.
Each subclass has itw own validity checks.  Using ModuleName allows users
to edit bad module names instead of starting over. Add tests and delete
the two files combined into the new one.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27372">bpo-27372</a>: Test_idle no longer changes the locale.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27245">bpo-27245</a>: IDLE: Cleanly delete custom themes and key bindings.
Previously, when IDLE was started from a console or by import, a cascade
of warnings was emitted. Patch by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24137">bpo-24137</a>: Run IDLE, test_idle, and htest with tkinter default root
disabled.  Fix code and tests that fail with this restriction.  Fix htests
to not create a second and redundant root and mainloop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27310">bpo-27310</a>: Fix IDLE.app failure to launch on OS X due to vestigial import.</p></li>
</ul>
</div>
<div class="section" id="id146">
<h3>C API<a class="headerlink" href="#id146" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: PyUnicode_FSDecoder() accepted a filename argument encoded as
an iterable of integers. Now only strings and byte-like objects are
accepted.</p></li>
</ul>
</div>
<div class="section" id="id147">
<h3>Build<a class="headerlink" href="#id147" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28066">bpo-28066</a>: Fix the logic that searches build directories for generated
include files when building outside the source tree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27442">bpo-27442</a>: Expose the Android API level that python was built against, in
sysconfig.get_config_vars() as ‘ANDROID_API_LEVEL’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27434">bpo-27434</a>: The interpreter that runs the cross-build, found in PATH, must
now be of the same feature version (e.g. 3.6) as the source being built.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update Windows builds to use OpenSSL 1.0.2h.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23968">bpo-23968</a>: Rename the platform directory from plat-$(MACHDEP) to
plat-$(PLATFORM_TRIPLET). Rename the config directory (LIBPL) from
config-$(LDVERSION) to config-$(LDVERSION)-$(PLATFORM_TRIPLET). Install
the platform specific _sysconfigdata module into the platform directory
and rename it to include the ABIFLAGS.</p></li>
<li><p>Don’t use largefile support for GNU/Hurd.</p></li>
</ul>
</div>
<div class="section" id="id148">
<h3>Tools/Demos<a class="headerlink" href="#id148" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27332">bpo-27332</a>: Fixed the type of the first argument of module-level functions
generated by Argument Clinic.  Patch by Petr Viktorin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27418">bpo-27418</a>: Fixed Tools/importbench/importbench.py.</p></li>
</ul>
</div>
<div class="section" id="id149">
<h3>Documentation<a class="headerlink" href="#id149" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue19489">bpo-19489</a>: Moved the search box from the sidebar to the header and footer
of each page. Patch by Ammar Askar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27285">bpo-27285</a>: Update documentation to reflect the deprecation of <code class="docutils literal notranslate"><span class="pre">pyvenv</span></code>
and normalize on the term “virtual environment”. Patch by Steve Piercy.</p></li>
</ul>
</div>
<div class="section" id="id150">
<h3>Tests<a class="headerlink" href="#id150" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27027">bpo-27027</a>: Added test.support.is_android that is True when this is an
Android build.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-alpha-2">
<h2>Python 3.6.0 alpha 2<a class="headerlink" href="#python-3-6-0-alpha-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-06-13</em></p>
<div class="section" id="id151">
<h3>Core and Builtins<a class="headerlink" href="#id151" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27095">bpo-27095</a>: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes.
Patch by Demur Rumed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27190">bpo-27190</a>: Raise NotSupportedError if sqlite3 is older than 3.3.1. Patch
by Dave Sawyer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27286">bpo-27286</a>: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode.  Calling
function with generalized unpacking (PEP 448) and conflicting keyword
names could cause undefined behavior.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27140">bpo-27140</a>: Added BUILD_CONST_KEY_MAP opcode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add support for os.PathLike objects to open() (part of PEP
519).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27066">bpo-27066</a>: Fixed SystemError if a custom opener (for open()) returns a
negative number without setting an exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26983">bpo-26983</a>: float() now always return an instance of exact float. The
deprecation warning is emitted if __float__ returns an instance of a
strict subclass of float.  In a future versions of Python this can be an
error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27097">bpo-27097</a>: Python interpreter is now about 7% faster due to optimized
instruction decoding.  Based on patch by Demur Rumed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26647">bpo-26647</a>: Python interpreter now uses 16-bit wordcode instead of
bytecode. Patch by Demur Rumed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23275">bpo-23275</a>: Allow assigning to an empty target list in round brackets: () =
iterable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: Update the __aiter__ protocol: instead of returning an
awaitable that resolves to an asynchronous iterator, the asynchronous
iterator should be returned directly.  Doing the former will trigger a
PendingDeprecationWarning.</p></li>
</ul>
</div>
<div class="section" id="id152">
<h3>Library<a class="headerlink" href="#id152" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants
exposed on the API which are not implemented on GNU/Hurd. They would not
work at runtime anyway.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27025">bpo-27025</a>: Generated names for Tkinter widgets are now more meaningful and
recognizable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25455">bpo-25455</a>: Fixed crashes in repr of recursive ElementTree.Element and
functools.partial objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27294">bpo-27294</a>: Improved repr for Tkinter event objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20508">bpo-20508</a>: Improve exception message of IPv{4,6}Network.__getitem__. Patch
by Gareth Rees.</p></li>
</ul>
</div>
<div class="section" id="id153">
<h3>Security<a class="headerlink" href="#id153" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26556">bpo-26556</a>: Update expat to 2.1.1, fixes CVE-2015-1283.</p></li>
<li><p>Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by
Team Oststrom.</p></li>
</ul>
</div>
<div class="section" id="id154">
<h3>Library<a class="headerlink" href="#id154" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21386">bpo-21386</a>: Implement missing IPv4Address.is_global property.  It was
documented since 07a5610bae9d.  Initial patch by Roger Luethi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27029">bpo-27029</a>: Removed deprecated support of universal newlines mode from
ZipFile.open().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27030">bpo-27030</a>: Unknown escapes consisting of <code class="docutils literal notranslate"><span class="pre">'\'</span></code> and an ASCII letter in
regular expressions now are errors.  The re.LOCALE flag now can be used
only with bytes patterns.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add os.PathLike support to DirEntry (part of PEP 519). Initial
patch by Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20900">bpo-20900</a>: distutils register command now decodes HTTP responses
correctly.  Initial patch by ingrid.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add os.PathLike support to pathlib, removing its provisional
status (part of PEP 519). Initial patch by Dusty Phillips.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add support for os.PathLike objects to os.fsencode() and
os.fsdecode() (part of PEP 519).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Introduce os.PathLike and os.fspath() (part of PEP 519).</p></li>
<li><p>A new version of typing.py provides several new classes and features:
&#64;overload outside stubs, Reversible, DefaultDict, Text, ContextManager,
Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some
of the new features are not yet implemented in mypy or other static
analyzers). Also classes for PEP 492 (Awaitable, AsyncIterable,
AsyncIterator) have been added (in fact they made it into 3.5.1 but were
never mentioned).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25738">bpo-25738</a>: Stop http.server.BaseHTTPRequestHandler.send_error() from
sending a message body for 205 Reset Content.  Also, don’t send Content
header fields in responses that don’t have a body.  Patch by Susumu
Koshiba.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21313">bpo-21313</a>: Fix the “platform” module to tolerate when sys.version contains
truncated build information.</p></li>
</ul>
</div>
<div class="section" id="id155">
<h3>Security<a class="headerlink" href="#id155" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26839">bpo-26839</a>: On Linux, <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> now calls <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> with
<code class="docutils literal notranslate"><span class="pre">GRND_NONBLOCK</span></code> to fall back on reading <code class="docutils literal notranslate"><span class="pre">/dev/urandom</span></code> if the urandom
entropy pool is not initialized yet. Patch written by Colm Buckley.</p></li>
</ul>
</div>
<div class="section" id="id156">
<h3>Library<a class="headerlink" href="#id156" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23883">bpo-23883</a>: Added missing APIs to __all__ to match the documented APIs for
the following modules: cgi, mailbox, mimetypes, plistlib and smtpd.
Patches by Jacek Kołodziej.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27164">bpo-27164</a>: In the zlib module, allow decompressing raw Deflate streams
with a predefined zdict.  Based on patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24291">bpo-24291</a>: Fix wsgiref.simple_server.WSGIRequestHandler to completely
write data to the client.  Previously it could do partial writes and
truncate data.  Also, wsgiref.handler.ServerHandler can now handle stdout
doing partial writes, but this is deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21272">bpo-21272</a>: Use _sysconfigdata.py to initialize distutils.sysconfig.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19611">bpo-19611</a>: <a class="reference internal" href="../library/inspect.html#module-inspect" title="inspect: Extract information and source code from live objects."><code class="xref py py-mod docutils literal notranslate"><span class="pre">inspect</span></code></a> now reports the implicit <code class="docutils literal notranslate"><span class="pre">.0</span></code> parameters
generated by the compiler for comprehension and generator expression
scopes as if they were positional-only parameters called <code class="docutils literal notranslate"><span class="pre">implicit0</span></code>.
Patch by Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26809">bpo-26809</a>: Add <code class="docutils literal notranslate"><span class="pre">__all__</span></code> to <a class="reference internal" href="../library/string.html#module-string" title="string: Common string operations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">string</span></code></a>.  Patch by Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26373">bpo-26373</a>: subprocess.Popen.communicate now correctly ignores
BrokenPipeError when the child process dies before .communicate() is
called in more/all circumstances.</p></li>
<li><p>signal, socket, and ssl module IntEnum constant name lookups now return a
consistent name for values having multiple names.  Ex: signal.Signals(6)
now refers to itself as signal.SIGALRM rather than flipping between that
and signal.SIGIOT based on the interpreter’s hash randomization seed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27167">bpo-27167</a>: Clarify the subprocess.CalledProcessError error message text
when the child process died due to a signal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25931">bpo-25931</a>: Don’t define socketserver.Forking* names on platforms such as
Windows that do not support os.fork().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21776">bpo-21776</a>: distutils.upload now correctly handles HTTPError. Initial patch
by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26526">bpo-26526</a>: Replace custom parse tree validation in the parser module with
a simple DFA validator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27114">bpo-27114</a>: Fix SSLContext._load_windows_store_certs fails with
PermissionError</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18383">bpo-18383</a>: Avoid creating duplicate filters when using filterwarnings and
simplefilter. Based on patch by Alex Shkop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23026">bpo-23026</a>: winreg.QueryValueEx() now return an integer for REG_QWORD type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26741">bpo-26741</a>: subprocess.Popen destructor now emits a ResourceWarning warning
if the child process is still running.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27056">bpo-27056</a>: Optimize pickle.load() and pickle.loads(), up to 10% faster to
deserialize a lot of small objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21271">bpo-21271</a>: New keyword only parameters in reset_mock call.</p></li>
</ul>
</div>
<div class="section" id="id157">
<h3>IDLE<a class="headerlink" href="#id157" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue5124">bpo-5124</a>: Paste with text selected now replaces the selection on X11. This
matches how paste works on Windows, Mac, most modern Linux apps, and ttk
widgets. Original patch by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24750">bpo-24750</a>: Switch all scrollbars in IDLE to ttk versions. Where needed,
minimal tests are added to cover changes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24759">bpo-24759</a>: IDLE requires tk 8.5 and availability ttk widgets. Delete now
unneeded tk version tests and code for older versions. Add test for IDLE
syntax colorizer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27239">bpo-27239</a>: idlelib.macosx.isXyzTk functions initialize as needed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27262">bpo-27262</a>: move Aqua unbinding code, which enable context menus, to
macosx.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24759">bpo-24759</a>: Make clear in idlelib.idle_test.__init__ that the directory is
a private implementation of test.test_idle and tool for maintainers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27196">bpo-27196</a>: Stop ‘ThemeChanged’ warnings when running IDLE tests. These
persisted after other warnings were suppressed in #20567. Apply Serhiy
Storchaka’s update_idletasks solution to four test files. Record this
additional advice in idle_test/README.txt</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20567">bpo-20567</a>: Revise idle_test/README.txt with advice about avoiding tk
warning messages from tests.  Apply advice to several IDLE tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24225">bpo-24225</a>: Update idlelib/README.txt with new file names and event
handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27156">bpo-27156</a>: Remove obsolete code not used by IDLE.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27117">bpo-27117</a>: Make colorizer htest and turtledemo work with dark themes. Move
code for configuring text widget colors to a new function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24225">bpo-24225</a>: Rename many <code class="xref py py-obj docutils literal notranslate"><span class="pre">idlelib/*.py</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">idle_test/test_*.py</span></code> files.
Edit files to replace old names with new names when the old name referred
to the module rather than the class it contained. See the issue and IDLE
section in What’s New in 3.6 for more.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26673">bpo-26673</a>: When tk reports font size as 0, change to size 10. Such fonts
on Linux prevented the configuration dialog from opening.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21939">bpo-21939</a>: Add test for IDLE’s percolator. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21676">bpo-21676</a>: Add test for IDLE’s replace dialog. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18410">bpo-18410</a>: Add test for IDLE’s search dialog. Original patch by Westley
Martínez.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21703">bpo-21703</a>: Add test for undo delegator.  Patch mostly by Saimadhav
Heblikar .</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27044">bpo-27044</a>: Add ConfigDialog.remove_var_callbacks to stop memory leaks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23977">bpo-23977</a>: Add more asserts to test_delegator.</p></li>
</ul>
</div>
<div class="section" id="id158">
<h3>Documentation<a class="headerlink" href="#id158" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue16484">bpo-16484</a>: Change the default PYTHONDOCS URL to “https:”, and fix the
resulting links to use lowercase.  Patch by Sean Rodman, test by Kaushik
Nadikuditi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24136">bpo-24136</a>: Document the new PEP 448 unpacking syntax of 3.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22558">bpo-22558</a>: Add remaining doc links to source code for Python-coded
modules. Patch by Yoni Lavi.</p></li>
</ul>
</div>
<div class="section" id="id159">
<h3>Tests<a class="headerlink" href="#id159" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25285">bpo-25285</a>: regrtest now uses subprocesses when the -j1 command line option
is used: each test file runs in a fresh child process. Before, the -j1
option was ignored.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25285">bpo-25285</a>: Tools/buildbot/test.bat script now uses -j1 by default to run
each test file in fresh child process.</p></li>
</ul>
</div>
<div class="section" id="id160">
<h3>Windows<a class="headerlink" href="#id160" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27064">bpo-27064</a>: The py.exe launcher now defaults to Python 3. The Windows
launcher <code class="docutils literal notranslate"><span class="pre">py.exe</span></code> no longer prefers an installed Python 2 version over
Python 3 by default when used interactively.</p></li>
</ul>
</div>
<div class="section" id="id161">
<h3>Build<a class="headerlink" href="#id161" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27229">bpo-27229</a>: Fix the cross-compiling pgen rule for in-tree builds.  Patch by
Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update OS X 10.5+ 32-bit-only installer to build and link with
OpenSSL 1.0.2h.</p></li>
</ul>
</div>
<div class="section" id="id162">
<h3>Windows<a class="headerlink" href="#id162" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue17500">bpo-17500</a>: Remove unused and outdated icons. (See also:
<a class="reference external" href="https://github.com/python/pythondotorg/issues/945">https://github.com/python/pythondotorg/issues/945</a>)</p></li>
</ul>
</div>
<div class="section" id="id163">
<h3>C API<a class="headerlink" href="#id163" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27186">bpo-27186</a>: Add the PyOS_FSPath() function (part of PEP 519).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26282">bpo-26282</a>: PyArg_ParseTupleAndKeywords() now supports positional-only
parameters.</p></li>
</ul>
</div>
<div class="section" id="id164">
<h3>Tools/Demos<a class="headerlink" href="#id164" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26282">bpo-26282</a>: Argument Clinic now supports positional-only and keyword
parameters in the same function.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-6-0-alpha-1">
<h2>Python 3.6.0 alpha 1<a class="headerlink" href="#python-3-6-0-alpha-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-05-16</em></p>
<div class="section" id="id165">
<h3>Core and Builtins<a class="headerlink" href="#id165" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue20041">bpo-20041</a>: Fixed TypeError when frame.f_trace is set to None. Patch by
Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26168">bpo-26168</a>: Fixed possible refleaks in failing Py_BuildValue() with the “N”
format unit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26991">bpo-26991</a>: Fix possible refleak when creating a function with annotations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27039">bpo-27039</a>: Fixed bytearray.remove() for values greater than 127.  Based on
patch by Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23640">bpo-23640</a>: int.from_bytes() no longer bypasses constructors for
subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27005">bpo-27005</a>: Optimized the float.fromhex() class method for exact float. It
is now 2 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18531">bpo-18531</a>: Single var-keyword argument of dict subtype was passed
unscathed to the C-defined function.  Now it is converted to exact dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26811">bpo-26811</a>: gc.get_objects() no longer contains a broken tuple with NULL
pointer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20120">bpo-20120</a>: Use RawConfigParser for .pypirc parsing, removing support for
interpolation unintentionally added with move to Python 3. Behavior no
longer does any interpolation in .pypirc files, matching behavior in
Python 2.7 and Setuptools 19.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26249">bpo-26249</a>: Memory functions of the <a class="reference internal" href="../c-api/memory.html#c.PyMem_Malloc" title="PyMem_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_Malloc()</span></code></a> domain
(<a class="reference internal" href="../c-api/memory.html#c.PYMEM_DOMAIN_MEM" title="PYMEM_DOMAIN_MEM"><code class="xref c c-data docutils literal notranslate"><span class="pre">PYMEM_DOMAIN_MEM</span></code></a>) now use the <a class="reference internal" href="../c-api/memory.html#pymalloc"><span class="std std-ref">pymalloc allocator</span></a> rather than system <code class="xref c c-func docutils literal notranslate"><span class="pre">malloc()</span></code>. Applications calling
<a class="reference internal" href="../c-api/memory.html#c.PyMem_Malloc" title="PyMem_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_Malloc()</span></code></a> without holding the GIL can now crash: use
<code class="docutils literal notranslate"><span class="pre">PYTHONMALLOC=debug</span></code> environment variable to validate the usage of
memory allocators in your application.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26802">bpo-26802</a>: Optimize function calls only using unpacking like
<code class="docutils literal notranslate"><span class="pre">func(*tuple)</span></code> (no other positional argument, no keyword): avoid copying
the tuple. Patch written by Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26659">bpo-26659</a>: Make the builtin slice type support cycle collection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26718">bpo-26718</a>: super.__init__ no longer leaks memory if called multiple times.
NOTE: A direct call of super.__init__ is not endorsed!</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27138">bpo-27138</a>: Fix the doc comment for FileFinder.find_spec().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27147">bpo-27147</a>: Mention PEP 420 in the importlib docs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25339">bpo-25339</a>: PYTHONIOENCODING now has priority over locale in setting the
error handler for stdin and stdout.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26494">bpo-26494</a>: Fixed crash on iterating exhausting iterators. Affected classes
are generic sequence iterators, iterators of str, bytes, bytearray, list,
tuple, set, frozenset, dict, OrderedDict, corresponding views and
os.scandir() iterator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26574">bpo-26574</a>: Optimize <code class="docutils literal notranslate"><span class="pre">bytes.replace(b'',</span> <span class="pre">b'.')</span></code> and
<code class="docutils literal notranslate"><span class="pre">bytearray.replace(b'',</span> <span class="pre">b'.')</span></code>. Patch written by Josh Snider.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26581">bpo-26581</a>: If coding cookie is specified multiple times on a line in
Python source code file, only the first one is taken to account.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19711">bpo-19711</a>: Add tests for reloading namespace packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21099">bpo-21099</a>: Switch applicable importlib tests to use PEP 451 API.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26563">bpo-26563</a>: Debug hooks on Python memory allocators now raise a fatal error
if functions of the <a class="reference internal" href="../c-api/memory.html#c.PyMem_Malloc" title="PyMem_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_Malloc()</span></code></a> family are called without
holding the GIL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26564">bpo-26564</a>: On error, the debug hooks on Python memory allocators now use
the <a class="reference internal" href="../library/tracemalloc.html#module-tracemalloc" title="tracemalloc: Trace memory allocations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">tracemalloc</span></code></a> module to get the traceback where a memory block
was allocated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26558">bpo-26558</a>: The debug hooks on Python memory allocator
<a class="reference internal" href="../c-api/memory.html#c.PyObject_Malloc" title="PyObject_Malloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyObject_Malloc()</span></code></a> now detect when functions are called without
holding the GIL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: Add <span class="target" id="index-5"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONMALLOC"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONMALLOC</span></code></a> environment variable to set the
Python memory allocators and/or install debug hooks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: The <a class="reference internal" href="../c-api/memory.html#c.PyMem_SetupDebugHooks" title="PyMem_SetupDebugHooks"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyMem_SetupDebugHooks()</span></code></a> function can now also be
used on Python compiled in release mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: The <span class="target" id="index-6"></span><a class="reference internal" href="../using/cmdline.html#envvar-PYTHONMALLOCSTATS"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONMALLOCSTATS</span></code></a> environment variable can now
also be used on Python compiled in release mode. It now has no effect if
set to an empty string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26516">bpo-26516</a>: In debug mode, debug hooks are now also installed on Python
memory allocators when Python is configured without pymalloc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26464">bpo-26464</a>: Fix str.translate() when string is ASCII and first replacements
removes character, but next replacement uses a non-ASCII character or a
string longer than 1 character. Regression introduced in Python 3.5.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22836">bpo-22836</a>: Ensure exception reports from PyErr_Display() and
PyErr_WriteUnraisable() are sensible even when formatting them produces
secondary errors.  This affects the reports produced by
sys.__excepthook__() and when __del__() raises an exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26302">bpo-26302</a>: Correct behavior to reject comma as a legal character for
cookie names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26136">bpo-26136</a>: Upgrade the warning when a generator raises StopIteration from
PendingDeprecationWarning to DeprecationWarning.  Patch by Anish Shah.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26204">bpo-26204</a>: The compiler now ignores all constant statements: bytes, str,
int, float, complex, name constants (None, False, True), Ellipsis and
ast.Constant; not only str and int. For example, <code class="docutils literal notranslate"><span class="pre">1.0</span></code> is now ignored in
<code class="docutils literal notranslate"><span class="pre">def</span> <span class="pre">f():</span> <span class="pre">1.0</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4806">bpo-4806</a>: Avoid masking the original TypeError exception when using star
(<code class="docutils literal notranslate"><span class="pre">*</span></code>) unpacking in function calls.  Based on patch by Hagen Fürstenau
and Daniel Urban.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26146">bpo-26146</a>: Add a new kind of AST node: <code class="docutils literal notranslate"><span class="pre">ast.Constant</span></code>. It can be used by
external AST optimizers, but the compiler does not emit directly such
node.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23601">bpo-23601</a>: Sped-up allocation of dict key objects by using Python’s small
object allocator.  (Contributed by Julian Taylor.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18018">bpo-18018</a>: Import raises ImportError instead of SystemError if a relative
import is attempted without a known parent package.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25843">bpo-25843</a>: When compiling code, don’t merge constants if they are equal
but have a different types. For example, <code class="docutils literal notranslate"><span class="pre">f1,</span> <span class="pre">f2</span> <span class="pre">=</span> <span class="pre">lambda:</span> <span class="pre">1,</span> <span class="pre">lambda:</span>
<span class="pre">1.0</span></code> is now correctly compiled to two different functions: <code class="docutils literal notranslate"><span class="pre">f1()</span></code>
returns <code class="docutils literal notranslate"><span class="pre">1</span></code> (<code class="docutils literal notranslate"><span class="pre">int</span></code>) and <code class="docutils literal notranslate"><span class="pre">f2()</span></code> returns <code class="docutils literal notranslate"><span class="pre">1.0</span></code> (<code class="docutils literal notranslate"><span class="pre">float</span></code>), even if
<code class="docutils literal notranslate"><span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">1.0</span></code> are equal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26107">bpo-26107</a>: The format of the <code class="docutils literal notranslate"><span class="pre">co_lnotab</span></code> attribute of code objects
changes to support negative line number delta.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26154">bpo-26154</a>: Add a new private _PyThreadState_UncheckedGet() function to get
the current Python thread state, but don’t issue a fatal error if it is
NULL. This new function must be used instead of accessing directly the
_PyThreadState_Current variable.  The variable is no more exposed since
Python 3.5.1 to hide the exact implementation of atomic C types, to avoid
compiler issues.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25791">bpo-25791</a>: If __package__ != __spec__.parent or if neither __package__ or
__spec__ are defined then ImportWarning is raised.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: [UPDATE] Comment out the one of the pickleability tests in
_PyObject_GetState() due to regressions observed in Cython-based projects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25961">bpo-25961</a>: Disallowed null characters in the type name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25973">bpo-25973</a>: Fix segfault when an invalid nonlocal statement binds a name
starting with two underscores.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Instances of extension types with a state that aren’t
subclasses of list or dict and haven’t implemented any pickle-related
methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or
__getstate__), can no longer be pickled.  Including memoryview.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20440">bpo-20440</a>: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25766">bpo-25766</a>: Special method __bytes__() now works in str subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25421">bpo-25421</a>: __sizeof__ methods of builtin types now use dynamic basic size.
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8
cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5319">bpo-5319</a>: New Py_FinalizeEx() API allowing Python to set an exit status of
120 on failure to flush buffered streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25485">bpo-25485</a>: telnetlib.Telnet is now a context manager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24097">bpo-24097</a>: Fixed crash in object.__reduce__() if slot name is freed inside
__getattr__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24731">bpo-24731</a>: Fixed crash on converting objects with special methods
__bytes__, __trunc__, and __float__ returning instances of subclasses of
bytes, int, and float to subclasses of bytes, int, and float
correspondingly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25630">bpo-25630</a>: Fix a possible segfault during argument parsing in functions
that accept filesystem paths.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23564">bpo-23564</a>: Fixed a partially broken sanity check in the _posixsubprocess
internals regarding how fds_to_pass were passed to the child.  The bug had
no actual impact as subprocess.py already avoided it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25388">bpo-25388</a>: Fixed tokenizer crash when processing undecodable source code
with a null byte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25462">bpo-25462</a>: The hash of the key now is calculated only once in most
operations in C implementation of OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Default implementation of __reduce__ and __reduce_ex__ now
rejects builtin types with not defined __new__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24802">bpo-24802</a>: Avoid buffer overreads when int(), float(), compile(), exec()
and eval() are passed bytes-like objects.  These objects are not
necessarily terminated by a null byte, but the functions assumed they
were.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25555">bpo-25555</a>: Fix parser and AST: fill lineno and col_offset of “arg” node
when compiling AST from Python objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24726">bpo-24726</a>: Fixed a crash and leaking NULL in repr() of OrderedDict that
was mutated by direct calls of dict methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Iterating OrderedDict with keys with unstable hash now raises
KeyError in C implementations as well as in Python implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25395">bpo-25395</a>: Fixed crash when highly nested OrderedDict structures were
garbage collected.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25401">bpo-25401</a>: Optimize bytes.fromhex() and bytearray.fromhex(): they are now
between 2x and 3.5x faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25399">bpo-25399</a>: Optimize bytearray % args using the new private _PyBytesWriter
API. Formatting is now between 2.5 and 5 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25274">bpo-25274</a>: sys.setrecursionlimit() now raises a RecursionError if the new
recursion limit is too low depending at the current recursion depth.
Modify also the “lower-water mark” formula to make it monotonic. This mark
is used to decide when the overflowed flag of the thread state is reset.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24402">bpo-24402</a>: Fix input() to prompt to the redirected stdout when
sys.stdout.fileno() fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25349">bpo-25349</a>: Optimize bytes % args using the new private _PyBytesWriter API.
Formatting is now up to 2 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24806">bpo-24806</a>: Prevent builtin types that are not allowed to be subclassed
from being subclassed through multiple inheritance.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25301">bpo-25301</a>: The UTF-8 decoder is now up to 15 times as fast for error
handlers: <code class="docutils literal notranslate"><span class="pre">ignore</span></code>, <code class="docutils literal notranslate"><span class="pre">replace</span></code> and <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24848">bpo-24848</a>: Fixed a number of bugs in UTF-7 decoding of misformed data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25267">bpo-25267</a>: The UTF-8 encoder is now up to 75 times as fast for error
handlers: <code class="docutils literal notranslate"><span class="pre">ignore</span></code>, <code class="docutils literal notranslate"><span class="pre">replace</span></code>, <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code>, <code class="docutils literal notranslate"><span class="pre">surrogatepass</span></code>.
Patch co-written with Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25280">bpo-25280</a>: Import trace messages emitted in verbose (-v) mode are no
longer formatted twice.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25227">bpo-25227</a>: Optimize ASCII and latin1 encoders with the <code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code>
error handler: the encoders are now up to 3 times as fast. Initial patch
written by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25003">bpo-25003</a>: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
function instead of the getentropy() function. The getentropy() function
is blocking to generate very good quality entropy, os.urandom() doesn’t
need such high-quality entropy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9232">bpo-9232</a>: Modify Python’s grammar to allow trailing commas in the argument
list of a function declaration.  For example, “def f(*, a = 3,): pass” is
now legal. Patch from Mark Dickinson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24965">bpo-24965</a>: Implement PEP 498 “Literal String Interpolation”. This allows
you to embed expressions inside f-strings, which are converted to normal
strings at run time. Given x=3, then f’value={x}’ == ‘value=3’. Patch by
Eric V. Smith.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26478">bpo-26478</a>: Fix semantic bugs when using binary operators with dictionary
views and tuples.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26171">bpo-26171</a>: Fix possible integer overflow and heap corruption in
zipimporter.get_data().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25660">bpo-25660</a>: Fix TAB key behaviour in REPL with readline.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26288">bpo-26288</a>: Optimize PyLong_AsDouble.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26289">bpo-26289</a>: Optimize floor and modulo division for single-digit longs.
Microbenchmarks show 2-2.5x improvement.  Built-in ‘divmod’ function is
now also ~10% faster. (See also: <a class="reference external" href="https://bugs.python.org/issue26315">bpo-26315</a>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25887">bpo-25887</a>: Raise a RuntimeError when a coroutine object is awaited more
than once.</p></li>
</ul>
</div>
<div class="section" id="id166">
<h3>Library<a class="headerlink" href="#id166" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue27057">bpo-27057</a>: Fix os.set_inheritable() on Android, ioctl() is blocked by
SELinux and fails with EACCESS. The function now falls back to fcntl().
Patch written by Michał Bednarski.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27014">bpo-27014</a>: Fix infinite recursion using typing.py.  Thanks to Kalle Tuure!</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27031">bpo-27031</a>: Removed dummy methods in Tkinter widget classes: tk_menuBar()
and tk_bindForTraversal().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14132">bpo-14132</a>: Fix urllib.request redirect handling when the target only has a
query string.  Original fix by Ján Janech.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17214">bpo-17214</a>: The “urllib.request” module now percent-encodes non-ASCII bytes
found in redirect target URLs.  Some servers send Location header fields
with non-ASCII bytes, but “http.client” requires the request target to be
ASCII-encodable, otherwise a UnicodeEncodeError is raised.  Based on patch
by Christian Heimes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27033">bpo-27033</a>: The default value of the decode_data parameter for
smtpd.SMTPChannel and smtpd.SMTPServer constructors is changed to False.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27034">bpo-27034</a>: Removed deprecated class asynchat.fifo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26870">bpo-26870</a>: Added readline.set_auto_history(), which can stop entries being
automatically added to the history list.  Based on patch by Tyler
Crompton.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26039">bpo-26039</a>: zipfile.ZipFile.open() can now be used to write data into a ZIP
file, as well as for extracting data.  Patch by Thomas Kluyver.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26892">bpo-26892</a>: Honor debuglevel flag in urllib.request.HTTPHandler. Patch
contributed by Chi Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22274">bpo-22274</a>: In the subprocess module, allow stderr to be redirected to
stdout even when stdout is not redirected.  Patch by Akira Li.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26807">bpo-26807</a>: mock_open ‘files’ no longer error on readline at end of file.
Patch from Yolanda Robla.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25745">bpo-25745</a>: Fixed leaking a userptr in curses panel destructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26977">bpo-26977</a>: Removed unnecessary, and ignored, call to sum of squares helper
in statistics.pvariance.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26002">bpo-26002</a>: Use bisect in statistics.median instead of a linear search.
Patch by Upendra Kuma.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25974">bpo-25974</a>: Make use of new Decimal.as_integer_ratio() method in statistics
module. Patch by Stefan Krah.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26996">bpo-26996</a>: Add secrets module as described in PEP 506.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26881">bpo-26881</a>: The modulefinder module now supports extended opcode arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23815">bpo-23815</a>: Fixed crashes related to directly created instances of types in
_tkinter and curses.panel modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17765">bpo-17765</a>: weakref.ref() no longer silently ignores keyword arguments.
Patch by Georg Brandl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26873">bpo-26873</a>: xmlrpc now raises ResponseError on unsupported type tags
instead of silently return incorrect result.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26915">bpo-26915</a>: The __contains__ methods in the collections ABCs now check for
identity before checking equality.  This better matches the behavior of
the concrete classes, allows sensible handling of NaNs, and makes it
easier to reason about container invariants.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26711">bpo-26711</a>: Fixed the comparison of plistlib.Data with other types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24114">bpo-24114</a>: Fix an uninitialized variable in <code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes.util</span></code>.</p>
<p>The bug only occurs on SunOS when the ctypes implementation searches for
the <code class="xref py py-obj docutils literal notranslate"><span class="pre">crle</span></code> program.  Patch by Xiang Zhang.  Tested on SunOS by Kees Bos.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26864">bpo-26864</a>: In urllib.request, change the proxy bypass host checking
against no_proxy to be case-insensitive, and to not match unrelated host
names that happen to have a bypassed hostname as a suffix.  Patch by Xiang
Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24902">bpo-24902</a>: Print server URL on http.server startup.  Initial patch by
Felix Kaiser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25788">bpo-25788</a>: fileinput.hook_encoded() now supports an “errors” argument for
passing to open.  Original patch by Joseph Hackman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26634">bpo-26634</a>: recursive_repr() now sets __qualname__ of wrapper.  Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26804">bpo-26804</a>: urllib.request will prefer lower_case proxy environment
variables over UPPER_CASE or Mixed_Case ones. Patch contributed by
Hans-Peter Jansen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26837">bpo-26837</a>: assertSequenceEqual() now correctly outputs non-stringified
differing items (like bytes in the -b mode).  This affects
assertListEqual() and assertTupleEqual().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26041">bpo-26041</a>: Remove “will be removed in Python 3.7” from deprecation
messages of platform.dist() and platform.linux_distribution(). Patch by
Kumaripaba Miyurusara Athukorala.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26822">bpo-26822</a>: itemgetter, attrgetter and methodcaller objects no longer
silently ignore keyword arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26733">bpo-26733</a>: Disassembling a class now disassembles class and static
methods. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26801">bpo-26801</a>: Fix error handling in <a class="reference internal" href="../library/shutil.html#shutil.get_terminal_size" title="shutil.get_terminal_size"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.get_terminal_size()</span></code></a>, catch
<a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a> instead of <a class="reference internal" href="../library/exceptions.html#NameError" title="NameError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NameError</span></code></a>. Patch written by
Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24838">bpo-24838</a>: tarfile’s ustar and gnu formats now correctly calculate name
and link field limits for multibyte character encodings like utf-8.</p></li>
</ul>
</div>
<div class="section" id="id167">
<h3>Security<a class="headerlink" href="#id167" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26657">bpo-26657</a>: Fix directory traversal vulnerability with http.server on
Windows.  This fixes a regression that was introduced in 3.3.4rc1 and
3.4.0rc1.  Based on patch by Philipp Hagemeister.</p></li>
</ul>
</div>
<div class="section" id="id168">
<h3>Library<a class="headerlink" href="#id168" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26717">bpo-26717</a>: Stop encoding Latin-1-ized WSGI paths with UTF-8.  Patch by
Anthony Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26782">bpo-26782</a>: Add STARTUPINFO to subprocess.__all__ on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26404">bpo-26404</a>: Add context manager to socketserver.  Patch by Aviv Palivoda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26735">bpo-26735</a>: Fix <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> on Solaris 11.3 and newer when reading
more than 1,024 bytes: call <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> multiple times with a limit of
1024 bytes per call.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26585">bpo-26585</a>: Eliminate http.server._quote_html() and use
html.escape(quote=False).  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26685">bpo-26685</a>: Raise OSError if closing a socket fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16329">bpo-16329</a>: Add .webm to mimetypes.types_map.  Patch by Giampaolo Rodola’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13952">bpo-13952</a>: Add .csv to mimetypes.types_map.  Patch by Geoff Wilson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26587">bpo-26587</a>: the site module now allows .pth files to specify files to be
added to sys.path (e.g. zip files).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25609">bpo-25609</a>: Introduce contextlib.AbstractContextManager and
typing.ContextManager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26709">bpo-26709</a>: Fixed Y2038 problem in loading binary PLists.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23735">bpo-23735</a>: Handle terminal resizing with Readline 6.3+ by installing our
own SIGWINCH handler.  Patch by Eric Price.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25951">bpo-25951</a>: Change SSLSocket.sendall() to return None, as explicitly
documented for plain socket objects.  Patch by Aviv Palivoda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26586">bpo-26586</a>: In http.server, respond with “413 Request header fields too
large” if there are too many header fields to parse, rather than killing
the connection and raising an unhandled exception.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26676">bpo-26676</a>: Added missing XMLPullParser to ElementTree.__all__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22854">bpo-22854</a>: Change BufferedReader.writable() and BufferedWriter.readable()
to always return False.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26492">bpo-26492</a>: Exhausted iterator of array.array now conforms with the
behavior of iterators of other mutable sequences: it lefts exhausted even
if iterated array is extended.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26641">bpo-26641</a>: doctest.DocFileTest and doctest.testfile() now support packages
(module splitted into multiple directories) for the package parameter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25195">bpo-25195</a>: Fix a regression in mock.MagicMock. _Call is a subclass of
tuple (changeset 3603bae63c13 only works for classes) so we need to
implement __ne__ ourselves.  Patch by Andrew Plummer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26644">bpo-26644</a>: Raise ValueError rather than SystemError when a negative length
is passed to SSLSocket.recv() or read().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL recv(0) and read(0) methods to return zero bytes
instead of up to 1024.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26616">bpo-26616</a>: Fixed a bug in datetime.astimezone() method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26637">bpo-26637</a>: The <a class="reference internal" href="../library/importlib.html#module-importlib" title="importlib: The implementation of the import machinery."><code class="xref py py-mod docutils literal notranslate"><span class="pre">importlib</span></code></a> module now emits an <a class="reference internal" href="../library/exceptions.html#ImportError" title="ImportError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ImportError</span></code></a>
rather than a <a class="reference internal" href="../library/exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a> if <a class="reference internal" href="../library/functions.html#__import__" title="__import__"><code class="xref py py-func docutils literal notranslate"><span class="pre">__import__()</span></code></a> is tried during the
Python shutdown process but <a class="reference internal" href="../library/sys.html#sys.path" title="sys.path"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.path</span></code></a> is already cleared (set to
<code class="docutils literal notranslate"><span class="pre">None</span></code>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21925">bpo-21925</a>: <a class="reference internal" href="../library/warnings.html#warnings.formatwarning" title="warnings.formatwarning"><code class="xref py py-func docutils literal notranslate"><span class="pre">warnings.formatwarning()</span></code></a> now catches exceptions when
calling <a class="reference internal" href="../library/linecache.html#linecache.getline" title="linecache.getline"><code class="xref py py-func docutils literal notranslate"><span class="pre">linecache.getline()</span></code></a> and
<a class="reference internal" href="../library/tracemalloc.html#tracemalloc.get_object_traceback" title="tracemalloc.get_object_traceback"><code class="xref py py-func docutils literal notranslate"><span class="pre">tracemalloc.get_object_traceback()</span></code></a> to be able to log
<a class="reference internal" href="../library/exceptions.html#ResourceWarning" title="ResourceWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResourceWarning</span></code></a> emitted late during the Python shutdown process.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23848">bpo-23848</a>: On Windows, faulthandler.enable() now also installs an
exception handler to dump the traceback of all Python threads on any
Windows exception, not only on UNIX signals (SIGSEGV, SIGFPE, SIGABRT).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26530">bpo-26530</a>: Add C functions <code class="xref c c-func docutils literal notranslate"><span class="pre">_PyTraceMalloc_Track()</span></code> and
<code class="xref c c-func docutils literal notranslate"><span class="pre">_PyTraceMalloc_Untrack()</span></code> to track memory blocks using the
<a class="reference internal" href="../library/tracemalloc.html#module-tracemalloc" title="tracemalloc: Trace memory allocations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">tracemalloc</span></code></a> module. Add <code class="xref c c-func docutils literal notranslate"><span class="pre">_PyTraceMalloc_GetTraceback()</span></code> to
get the traceback of an object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26588">bpo-26588</a>: The _tracemalloc now supports tracing memory allocations of
multiple address spaces (domains).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24266">bpo-24266</a>: Ctrl+C during Readline history search now cancels the search
mode when compiled with Readline 7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26590">bpo-26590</a>: Implement a safe finalizer for the _socket.socket type. It now
releases the GIL to close the socket.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18787">bpo-18787</a>: spwd.getspnam() now raises a PermissionError if the user
doesn’t have privileges.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26560">bpo-26560</a>: Avoid potential ValueError in BaseHandler.start_response.
Initial patch by Peter Inglesby.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26567">bpo-26567</a>: Add a new function <a class="reference internal" href="../c-api/exceptions.html#c.PyErr_ResourceWarning" title="PyErr_ResourceWarning"><code class="xref c c-func docutils literal notranslate"><span class="pre">PyErr_ResourceWarning()</span></code></a> function to
pass the destroyed object. Add a <em>source</em> attribute to
<code class="xref py py-class docutils literal notranslate"><span class="pre">warnings.WarningMessage</span></code>. Add warnings._showwarnmsg() which uses
tracemalloc to get the traceback where source object was allocated.</p></li>
</ul>
</div>
<div class="section" id="id169">
<h3>Security<a class="headerlink" href="#id169" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26313">bpo-26313</a>: ssl.py _load_windows_store_certs fails if windows cert store is
empty. Patch by Baji.</p></li>
</ul>
</div>
<div class="section" id="id170">
<h3>Library<a class="headerlink" href="#id170" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26569">bpo-26569</a>: Fix <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule()</span></code></a> and <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule_ex()</span></code></a>
to support importing packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26499">bpo-26499</a>: Account for remaining Content-Length in HTTPResponse.readline()
and read1(). Based on patch by Silent Ghost. Also document that
HTTPResponse now supports these methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25320">bpo-25320</a>: Handle sockets in directories unittest discovery is scanning.
Patch from Victor van den Elzen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16181">bpo-16181</a>: cookiejar.http2time() now returns None if year is higher than
datetime.MAXYEAR.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26513">bpo-26513</a>: Fixes platform module detection of Windows Server</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23718">bpo-23718</a>: Fixed parsing time in week 0 before Jan 1.  Original patch by
Tamás Bence Gedai.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26323">bpo-26323</a>: Add Mock.assert_called() and Mock.assert_called_once() methods
to unittest.mock. Patch written by Amit Saha.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20589">bpo-20589</a>: Invoking Path.owner() and Path.group() on Windows now raise
NotImplementedError instead of ImportError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26177">bpo-26177</a>: Fixed the keys() method for Canvas and Scrollbar widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15068">bpo-15068</a>: Got rid of excessive buffering in fileinput. The bufsize
parameter is now deprecated and ignored.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19475">bpo-19475</a>: Added an optional argument timespec to the datetime isoformat()
method to choose the precision of the time component.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2202">bpo-2202</a>: Fix UnboundLocalError in
AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu
Dupuy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26167">bpo-26167</a>: Minimized overhead in copy.copy() and copy.deepcopy().
Optimized copying and deepcopying bytearrays, NotImplemented, slices,
short lists, tuples, dicts, sets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed pickling and copying the accumulate() iterator with total
is None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26475">bpo-26475</a>: Fixed debugging output for regular expressions with the (?x)
flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26482">bpo-26482</a>: Allowed pickling recursive dequeues.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26335">bpo-26335</a>: Make mmap.write() return the number of bytes written like other
write methods.  Patch by Jakub Stasiak.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26457">bpo-26457</a>: Fixed the subnets() methods in IP network classes for the case
when resulting prefix length is equal to maximal prefix length. Based on
patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26385">bpo-26385</a>: Remove the file if the internal open() call in
NamedTemporaryFile() fails. Patch by Silent Ghost.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26402">bpo-26402</a>: Fix XML-RPC client to retry when the server shuts down a
persistent connection.  This was a regression related to the new
http.client.RemoteDisconnected exception in 3.5.0a4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25913">bpo-25913</a>: Leading <code class="docutils literal notranslate"><span class="pre">&lt;~</span></code> is optional now in base64.a85decode() with
adobe=True.  Patch by Swati Jaiswal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26186">bpo-26186</a>: Remove an invalid type check in importlib.util.LazyLoader.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26367">bpo-26367</a>: importlib.__import__() raises ImportError like
builtins.__import__() when <code class="docutils literal notranslate"><span class="pre">level</span></code> is specified but without an
accompanying package specified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26309">bpo-26309</a>: In the “socketserver” module, shut down the request (closing
the connected socket) when verify_request() returns false.  Patch by Aviv
Palivoda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23430">bpo-23430</a>: Change the socketserver module to only catch exceptions raised
from a request handler that are derived from Exception (instead of
BaseException). Therefore SystemExit and KeyboardInterrupt no longer
trigger the handle_error() method, and will now to stop a single-threaded
server.</p></li>
</ul>
</div>
<div class="section" id="id171">
<h3>Security<a class="headerlink" href="#id171" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25939">bpo-25939</a>: On Windows open the cert store readonly in
ssl.enum_certificates.</p></li>
</ul>
</div>
<div class="section" id="id172">
<h3>Library<a class="headerlink" href="#id172" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25995">bpo-25995</a>: os.walk() no longer uses FDs proportional to the tree depth.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25994">bpo-25994</a>: Added the close() method and the support of the context manager
protocol for the os.scandir() iterator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23992">bpo-23992</a>: multiprocessing: make MapResult not fail-fast upon exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26243">bpo-26243</a>: Support keyword arguments to zlib.compress().  Patch by Aviv
Palivoda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26117">bpo-26117</a>: The os.scandir() iterator now closes file descriptor not only
when the iteration is finished, but when it was failed with error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25949">bpo-25949</a>: __dict__ for an OrderedDict instance is now created only when
needed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25911">bpo-25911</a>: Restored support of bytes paths in os.walk() on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26045">bpo-26045</a>: Add UTF-8 suggestion to error message when posting a
non-Latin-1 string with http.client.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26039">bpo-26039</a>: Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir().
Patch by Thomas Kluyver.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12923">bpo-12923</a>: Reset FancyURLopener’s redirect counter even if there is an
exception. Based on patches by Brian Brazil and Daniel Rocco.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25945">bpo-25945</a>: Fixed a crash when unpickle the functools.partial object with
wrong state. Fixed a leak in failed functools.partial constructor. “args”
and “keywords” attributes of functools.partial have now always types tuple
and dict correspondingly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26202">bpo-26202</a>: copy.deepcopy() now correctly copies range() objects with
non-atomic attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23076">bpo-23076</a>: Path.glob() now raises a ValueError if it’s called with an
invalid pattern. Patch by Thomas Nyberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19883">bpo-19883</a>: Fixed possible integer overflows in zipimport.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26227">bpo-26227</a>: On Windows, getnameinfo(), gethostbyaddr() and
gethostbyname_ex() functions of the socket module now decode the hostname
from the ANSI code page rather than UTF-8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26099">bpo-26099</a>: The site module now writes an error into stderr if
sitecustomize module can be imported but executing the module raise an
ImportError. Same change for usercustomize.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26147">bpo-26147</a>: xmlrpc now works with strings not encodable with used non-UTF-8
encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25935">bpo-25935</a>: Garbage collector now breaks reference loops with OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16620">bpo-16620</a>: Fixed AttributeError in msilib.Directory.glob().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26013">bpo-26013</a>: Added compatibility with broken protocol 2 pickles created in
old Python 3 versions (3.4.3 and lower).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26129">bpo-26129</a>: Deprecated accepting non-integers in grp.getgrgid().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25850">bpo-25850</a>: Use cross-compilation by default for 64-bit Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25822">bpo-25822</a>: Add docstrings to the fields of urllib.parse results. Patch
contributed by Swati Jaiswal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22642">bpo-22642</a>: Convert trace module option parsing mechanism to argparse.
Patch contributed by SilentGhost.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24705">bpo-24705</a>: Fix sysconfig._parse_makefile not expanding ${} vars appearing
before $() vars.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26069">bpo-26069</a>: Remove the deprecated apis in the trace module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22138">bpo-22138</a>: Fix mock.patch behavior when patching descriptors. Restore
original values after patching. Patch contributed by Sean McCully.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25672">bpo-25672</a>: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
option if it is safe to do so.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26012">bpo-26012</a>: Don’t traverse into symlinks for <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern in
pathlib.Path.[r]glob().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24120">bpo-24120</a>: Ignore PermissionError when traversing a tree with
pathlib.Path.[r]glob(). Patch by Ulrich Petri.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21815">bpo-21815</a>: Accept ] characters in the data portion of imap responses, in
order to handle the flags with square brackets accepted and produced by
servers such as gmail.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: fileinput now uses sys.stdin as-is if it does not have a buffer
attribute (restores backward compatibility).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25971">bpo-25971</a>: Optimized creating Fractions from floats by 2 times and from
Decimals by 3 times.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25802">bpo-25802</a>: Document as deprecated the remaining implementations of
importlib.abc.Loader.load_module().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25928">bpo-25928</a>: Add Decimal.as_integer_ratio().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: Copying the lru_cache() wrapper object now always works,
independently from the type of the wrapped object (by returning the
original object unchanged).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25768">bpo-25768</a>: Have the functions in compileall return booleans instead of
ints and add proper documentation and tests for the return values.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24103">bpo-24103</a>: Fixed possible use after free in ElementTree.XMLPullParser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25860">bpo-25860</a>: os.fwalk() no longer skips remaining directories when error
occurs. Original patch by Samson Lee.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25914">bpo-25914</a>: Fixed and simplified OrderedDict.__sizeof__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25869">bpo-25869</a>: Optimized deepcopying ElementTree; it is now 20 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25873">bpo-25873</a>: Optimized iterating ElementTree.  Iterating elements
Element.iter() is now 40% faster, iterating text Element.itertext() is now
up to 2.5 times faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25902">bpo-25902</a>: Fixed various refcount issues in ElementTree iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22227">bpo-22227</a>: The TarFile iterator is reimplemented using generator. This
implementation is simpler that using class.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25638">bpo-25638</a>: Optimized ElementTree.iterparse(); it is now 2x faster.
Optimized ElementTree parsing; it is now 10% faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25761">bpo-25761</a>: Improved detecting errors in broken pickle data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25717">bpo-25717</a>: Restore the previous behaviour of tolerating most fstat()
errors when opening files.  This was a regression in 3.5a1, and stopped
anonymous temporary files from working in special cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24903">bpo-24903</a>: Fix regression in number of arguments compileall accepts when
‘-d’ is specified.  The check on the number of arguments has been dropped
completely as it never worked correctly anyway.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25764">bpo-25764</a>: In the subprocess module, preserve any exception caused by
fork() failure when preexec_fn is used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25771">bpo-25771</a>: Tweak the exception message for importlib.util.resolve_name()
when ‘package’ isn’t specified but necessary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6478">bpo-6478</a>: _strptime’s regexp cache now is reset after changing timezone
with time.tzset().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14285">bpo-14285</a>: When executing a package with the “python -m package” option,
and package initialization fails, a proper traceback is now reported.  The
“runpy” module now lets exceptions from package initialization pass back
to the caller, rather than raising ImportError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19771">bpo-19771</a>: Also in runpy and the “-m” option, omit the irrelevant message
“… is a package and cannot be directly executed” if the package could
not even be initialized (e.g. due to a bad <code class="docutils literal notranslate"><span class="pre">*.pyc</span></code> file).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25177">bpo-25177</a>: Fixed problem with the mean of very small and very large
numbers. As a side effect, statistics.mean and statistics.variance should
be significantly faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed copying object with state with boolean value is false.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10131">bpo-10131</a>: Fixed deep copying of minidom documents.  Based on patch by
Marian Ganisin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7990">bpo-7990</a>: dir() on ElementTree.Element now lists properties: “tag”,
“text”, “tail” and “attrib”.  Original patch by Santoso Wijaya.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25725">bpo-25725</a>: Fixed a reference leak in pickle.loads() when unpickling
invalid data including tuple instructions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25663">bpo-25663</a>: In the Readline completer, avoid listing duplicate global
names, and search the global namespace before searching builtins.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25688">bpo-25688</a>: Fixed file leak in ElementTree.iterparse() raising an error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23914">bpo-23914</a>: Fixed SystemError raised by unpickler on broken pickle data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25691">bpo-25691</a>: Fixed crash on deleting ElementTree.Element attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25624">bpo-25624</a>: ZipFile now always writes a ZIP_STORED header for directory
entries.  Patch by Dingyuan Wang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25626">bpo-25626</a>: Change three zlib functions to accept sizes that fit in
Py_ssize_t, but internally cap those sizes to UINT_MAX.  This resolves a
regression in 3.5 where GzipFile.read() failed to read chunks larger than
2 or 4 GiB.  The change affects the zlib.Decompress.decompress()
max_length parameter, the zlib.decompress() bufsize parameter, and the
zlib.Decompress.flush() length parameter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25583">bpo-25583</a>: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
when the OS gives priority to errors such as EACCES over EEXIST.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25593">bpo-25593</a>: Change semantics of EventLoop.stop() in asyncio.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6973">bpo-6973</a>: When we know a subprocess.Popen process has died, do not allow
the send_signal(), terminate(), or kill() methods to do anything as they
could potentially signal a different process.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23883">bpo-23883</a>: Added missing APIs to __all__ to match the documented APIs for
the following modules: calendar, csv, enum, fileinput, ftplib, logging,
optparse, tarfile, threading and wave.  Also added a
test.support.check__all__() helper. Patches by Jacek Kołodziej, Mauro S.
M. Rodrigues and Joel Taddei.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25590">bpo-25590</a>: In the Readline completer, only call getattr() once per
attribute.  Also complete names of attributes such as properties and slots
which are listed by dir() but not yet created on an instance.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25498">bpo-25498</a>: Fix a crash when garbage-collecting ctypes objects created by
wrapping a memoryview.  This was a regression made in 3.5a1.  Based on
patch by Eryksun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Added “escape” to the __all__ list in the glob module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Fixed recursive glob() with patterns starting with <code class="docutils literal notranslate"><span class="pre">**</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25446">bpo-25446</a>: Fix regression in smtplib’s AUTH LOGIN support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18010">bpo-18010</a>: Fix the pydoc web server’s module search function to handle
exceptions from importing packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25554">bpo-25554</a>: Got rid of circular references in regular expression parsing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18973">bpo-18973</a>: Command-line interface of the calendar module now uses argparse
instead of optparse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25510">bpo-25510</a>: fileinput.FileInput.readline() now returns b’’ instead of ‘’ at
the end if the FileInput was opened with binary mode. Patch by Ryosuke
Ito.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25503">bpo-25503</a>: Fixed inspect.getdoc() for inherited docstrings of properties.
Original patch by John Mark Vandenberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25515">bpo-25515</a>: Always use os.urandom as a source of randomness in uuid.uuid4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21827">bpo-21827</a>: Fixed textwrap.dedent() for the case when largest common
whitespace is a substring of smallest leading whitespace. Based on patch
by Robert Li.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: The lru_cache() wrapper objects now can be copied and pickled
(by returning the original object unchanged).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25390">bpo-25390</a>: typing: Don’t crash on Union[str, Pattern].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25441">bpo-25441</a>: asyncio: Raise error from drain() when socket is closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25410">bpo-25410</a>: Cleaned up and fixed minor bugs in C implementation of
OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25411">bpo-25411</a>: Improved Unicode support in SMTPHandler through better use of
the email package. Thanks to user simon04 for the patch.</p></li>
<li><p>Move the imp module from a PendingDeprecationWarning to
DeprecationWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25407">bpo-25407</a>: Remove mentions of the formatter module being removed in Python
3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25406">bpo-25406</a>: Fixed a bug in C implementation of OrderedDict.move_to_end()
that caused segmentation fault or hang in iterating after moving several
items to the start of ordered dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25382">bpo-25382</a>: pickletools.dis() now outputs implicit memo index for the
MEMOIZE opcode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25357">bpo-25357</a>: Add an optional newline parameter to binascii.b2a_base64().
base64.b64encode() uses it to avoid a memory copy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24164">bpo-24164</a>: Objects that need calling <code class="docutils literal notranslate"><span class="pre">__new__</span></code> with keyword arguments,
can now be pickled using pickle protocols older than protocol version 4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25364">bpo-25364</a>: zipfile now works in threads disabled builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25328">bpo-25328</a>: smtpd’s SMTPChannel now correctly raises a ValueError if both
decode_data and enable_SMTPUTF8 are set to true.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16099">bpo-16099</a>: RobotFileParser now supports Crawl-delay and Request-rate
extensions.  Patch by Nikolay Bogoychev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25316">bpo-25316</a>: distutils raises OSError instead of DistutilsPlatformError when
MSVC is not installed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25380">bpo-25380</a>: Fixed protocol for the STACK_GLOBAL opcode in
pickletools.opcodes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23972">bpo-23972</a>: Updates asyncio datagram create method allowing reuseport and
reuseaddr socket options to be set prior to binding the socket. Mirroring
the existing asyncio create_server method the reuseaddr option for
datagram sockets defaults to True if the O/S is ‘posix’ (except if the
platform is Cygwin). Patch by Chris Laws.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25304">bpo-25304</a>: Add asyncio.run_coroutine_threadsafe().  This lets you submit a
coroutine to a loop from another thread, returning a
concurrent.futures.Future.  By Vincent Michel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25232">bpo-25232</a>: Fix CGIRequestHandler to split the query from the URL at the
first question mark (?) rather than the last. Patch from Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24657">bpo-24657</a>: Prevent CGIRequestHandler from collapsing slashes in the query
part of the URL as if it were a path. Patch from Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25287">bpo-25287</a>: Don’t add crypt.METHOD_CRYPT to crypt.methods if it’s not
supported. Check if it is supported, it may not be supported on OpenBSD
for example.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23600">bpo-23600</a>: Default implementation of tzinfo.fromutc() was returning wrong
results in some cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25203">bpo-25203</a>: Failed readline.set_completer_delims() no longer left the
module in inconsistent state.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25011">bpo-25011</a>: rlcompleter now omits private and special attribute names
unless the prefix starts with underscores.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25209">bpo-25209</a>: rlcompleter now can add a space or a colon after completed
keyword.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22241">bpo-22241</a>: timezone.utc name is now plain ‘UTC’, not ‘UTC-00:00’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23517">bpo-23517</a>: fromtimestamp() and utcfromtimestamp() methods of
datetime.datetime now round microseconds to nearest with ties going to
nearest even integer (ROUND_HALF_EVEN), as round(float), instead of
rounding towards -Infinity (ROUND_FLOOR).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23552">bpo-23552</a>: Timeit now warns when there is substantial (4x) variance
between best and worst times. Patch from Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24633">bpo-24633</a>: site-packages/README -&gt; README.txt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24879">bpo-24879</a>: help() and pydoc can now list named tuple fields in the order
they were defined rather than alphabetically.  The ordering is determined
by the _fields attribute if present.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24874">bpo-24874</a>: Improve speed of itertools.cycle() and make its pickle more
compact.</p></li>
<li><p>Fix crash in itertools.cycle.__setstate__() when the first argument wasn’t
a list.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20059">bpo-20059</a>: urllib.parse raises ValueError on all invalid ports. Patch by
Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24360">bpo-24360</a>: Improve __repr__ of argparse.Namespace() for invalid
identifiers.  Patch by Matthias Bussonnier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23426">bpo-23426</a>: run_setup was broken in distutils. Patch from Alexander
Belopolsky.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13938">bpo-13938</a>: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2091">bpo-2091</a>: open() accepted a ‘U’ mode string containing ‘+’, but ‘U’ can
only be used with ‘r’. Patch from Jeff Balogh and John O’Connor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8585">bpo-8585</a>: improved tests for zipimporter2. Patch from Mark Lawrence.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18622">bpo-18622</a>: unittest.mock.mock_open().reset_mock would recurse infinitely.
Patch from Nicola Palumbo and Laurent De Buyst.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24426">bpo-24426</a>: Fast searching optimization in regular expressions now works
for patterns that starts with capturing groups.  Fast searching
optimization now can’t be disabled at compile time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23661">bpo-23661</a>: unittest.mock side_effects can now be exceptions again. This
was a regression vs Python 3.4. Patch from Ignacio Rossi</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13248">bpo-13248</a>: Remove deprecated inspect.getmoduleinfo function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25578">bpo-25578</a>: Fix (another) memory leak in SSLSocket.getpeercer().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25530">bpo-25530</a>: Disable the vulnerable SSLv3 protocol by default when creating
ssl.SSLContext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25569">bpo-25569</a>: Fix memory leak in SSLSocket.getpeercert().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25471">bpo-25471</a>: Sockets returned from accept() shouldn’t appear to be
nonblocking.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25319">bpo-25319</a>: When threading.Event is reinitialized, the underlying condition
should use a regular lock rather than a recursive lock.</p></li>
<li><p>Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu
Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26050">bpo-26050</a>: Add asyncio.StreamReader.readuntil() method. Patch by Марк
Коренберг.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25924">bpo-25924</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on OS X
versions 10.5 or higher.  Original patch by A. Jesse Jiryu Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26406">bpo-26406</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on
current versions of OpenBSD and NetBSD.  Patch by A. Jesse Jiryu Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26848">bpo-26848</a>: Fix asyncio/subprocess.communicate() to handle empty input.
Patch by Jack O’Connor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27040">bpo-27040</a>: Add loop.get_exception_handler method</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27041">bpo-27041</a>: asyncio: Add loop.create_future method</p></li>
</ul>
</div>
<div class="section" id="id173">
<h3>IDLE<a class="headerlink" href="#id173" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue20640">bpo-20640</a>: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav
Heblikar.</p></li>
<li><p>In the ‘IDLE-console differences’ section of the IDLE doc, clarify how
running with IDLE affects sys.modules and the standard streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: fix incorrect change in IOBinding that prevented printing.
Augment IOBinding htest to include all major IOBinding functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25905">bpo-25905</a>: Revert unwanted conversion of ‘ to ’ RIGHT SINGLE QUOTATION
MARK in README.txt and open this and NEWS.txt with ‘ascii’. Re-encode
CREDITS.txt to utf-8 and open it with ‘utf-8’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15348">bpo-15348</a>: Stop the debugger engine (normally in a user process) before
closing the debugger window (running in the IDLE process). This prevents
the RuntimeErrors that were being caught and ignored.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24455">bpo-24455</a>: Prevent IDLE from hanging when a) closing the shell while the
debugger is active (15347); b) closing the debugger with the [X] button
(15348); and c) activating the debugger when already active (24455). The
patch by Mark Roseman does this by making two changes. 1. Suspend and
resume the gui.interaction method with the tcl vwait mechanism intended
for this purpose (instead of root.mainloop &amp; .quit). 2. In gui.run, allow
any existing interaction to terminate first.</p></li>
<li><p>Change ‘The program’ to ‘Your program’ in an IDLE ‘kill program?’ message
to make it clearer that the program referred to is the currently running
user program, not IDLE itself.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24750">bpo-24750</a>: Improve the appearance of the IDLE editor window status bar.
Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25313">bpo-25313</a>: Change the handling of new built-in text color themes to better
address the compatibility problem introduced by the addition of IDLE Dark.
Consistently use the revised idleConf.CurrentTheme everywhere in idlelib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24782">bpo-24782</a>: Extension configuration is now a tab in the IDLE Preferences
dialog rather than a separate dialog.  The former tabs are now a sorted
list.  Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22726">bpo-22726</a>: Re-activate the config dialog help button with some content
about the other buttons and the new IDLE Dark theme.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: IDLE now has an ‘IDLE Dark’ built-in text color theme. It is
more or less IDLE Classic inverted, with a cobalt blue background.
Strings, comments, keywords, … are still green, red, orange, … . To
use it with IDLEs released before November 2015, hit the ‘Save as New
Custom Theme’ button and enter a new name, such as ‘Custom Dark’.  The
custom theme will work with any IDLE release, and can be modified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: README.txt is now an idlelib index for IDLE developers and
curious users. The previous user content is now in the IDLE doc chapter.
‘IDLE’ now means ‘Integrated Development and Learning Environment’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: Users can now set breakpoint colors in Settings -&gt; Custom
Highlighting. Original patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24972">bpo-24972</a>: Inactive selection background now matches active selection
background, as configured by users, on all systems.  Found items are now
always highlighted on Windows.  Initial patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24570">bpo-24570</a>: Idle: make calltip and completion boxes appear on Macs affected
by a tk regression.  Initial patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24988">bpo-24988</a>: Idle ScrolledList context menus (used in debugger) now work on
Mac Aqua. Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24801">bpo-24801</a>: Make right-click for context menu work on Mac Aqua. Patch by
Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25173">bpo-25173</a>: Associate tkinter messageboxes with a specific widget. For Mac
OSX, make them a ‘sheet’.  Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25198">bpo-25198</a>: Enhance the initial html viewer now used for Idle Help.
Properly indent fixed-pitch text (patch by Mark Roseman). Give code
snippet a very Sphinx-like light blueish-gray background. Re-use initial
width and height set by users for shell and editor. When the Table of
Contents (TOC) menu is used, put the section header at the top of the
screen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25225">bpo-25225</a>: Condense and rewrite Idle doc section on text colors.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21995">bpo-21995</a>: Explain some differences between IDLE and console Python.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22820">bpo-22820</a>: Explain need for <em>print</em> when running file from Idle editor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: Doc: augment Idle feature list and no-subprocess section.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25219">bpo-25219</a>: Update doc for Idle command line options. Some were missing and
notes were not correct.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24861">bpo-24861</a>: Most of idlelib is private and subject to change. Use
idleib.idle.* to start Idle. See idlelib.__init__.__doc__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25199">bpo-25199</a>: Idle: add synchronization comments for future maintainers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16893">bpo-16893</a>: Replace help.txt with help.html for Idle doc display. The new
idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks
better than help.txt and will better document Idle as released. The
tkinter html viewer that works for this file was written by Rose Roseman.
The now unused EditorWindow.HelpDialog class and helt.txt file are
deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24199">bpo-24199</a>: Deprecate unused idlelib.idlever with possible removal in 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24790">bpo-24790</a>: Remove extraneous code (which also create 2 &amp; 3 conflicts).</p></li>
</ul>
</div>
<div class="section" id="id174">
<h3>Documentation<a class="headerlink" href="#id174" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26736">bpo-26736</a>: Used HTTPS for external links in the documentation if possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6953">bpo-6953</a>: Rework the Readline module documentation to group related
functions together, and add more details such as what underlying Readline
functions and variables are accessed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23606">bpo-23606</a>: Adds note to ctypes documentation regarding cdll.msvcrt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24952">bpo-24952</a>: Clarify the default size argument of stack_size() in the
“threading” and “_thread” modules. Patch from Mattip.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26014">bpo-26014</a>: Update 3.x packaging documentation: * “See also” links to the
new docs are now provided in the legacy pages * links to setuptools
documentation have been updated</p></li>
</ul>
</div>
<div class="section" id="id175">
<h3>Tests<a class="headerlink" href="#id175" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21916">bpo-21916</a>: Added tests for the turtle module.  Patch by ingrid, Gregory
Loyse and Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26295">bpo-26295</a>: When using “python3 -m test –testdir=TESTDIR”, regrtest
doesn’t add “test.” prefix to test module names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26523">bpo-26523</a>: The multiprocessing thread pool (multiprocessing.dummy.Pool)
was untested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26015">bpo-26015</a>: Added new tests for pickling iterators of mutable sequences.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26325">bpo-26325</a>: Added test.support.check_no_resource_warning() to check that no
ResourceWarning is emitted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25940">bpo-25940</a>: Changed test_ssl to use its internal local server more.  This
avoids relying on svn.python.org, which recently changed root certificate.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25616">bpo-25616</a>: Tests for OrderedDict are extracted from test_collections into
separate file test_ordered_dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Added tests for OrderedDict subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25188">bpo-25188</a>: Add -P/–pgo to test.regrtest to suppress error output when
running the test suite for the purposes of a PGO build. Initial patch by
Alecsandru Patrascu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22806">bpo-22806</a>: Add <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--list-tests</span></code> command to list tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18174">bpo-18174</a>: <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--huntrleaks</span> <span class="pre">...</span></code> now also checks for leak of
file descriptors. Patch written by Richard Oudkerk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25260">bpo-25260</a>: Fix <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--coverage</span></code> on Windows. Remove the list
of ignored directories.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PCbuild\rt.bat</span></code> now accepts an unlimited number of arguments to pass
along to regrtest.py.  Previously there was a limit of 9.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26583">bpo-26583</a>: Skip test_timestamp_overflow in test_import if bytecode files
cannot be written.</p></li>
</ul>
</div>
<div class="section" id="id176">
<h3>Build<a class="headerlink" href="#id176" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21277">bpo-21277</a>: Don’t try to link _ctypes with a ffi_convenience library.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26884">bpo-26884</a>: Fix linking extension modules for cross builds. Patch by Xavier
de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26932">bpo-26932</a>: Fixed support of RTLD_* constants defined as enum values, not
via macros (in particular on Android).  Patch by Chi Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Disable the rules for running _freeze_importlib and pgen when
cross-compiling.  The output of these programs is normally saved with the
source code anyway, and is still regenerated when doing a native build.
Patch by Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21668">bpo-21668</a>: Link audioop, _datetime, _ctypes_test modules to libm, except
on Mac OS X. Patch written by Chi Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25702">bpo-25702</a>: A –with-lto configure option has been added that will enable
link time optimizations at build time during a make profile-opt. Some
compilers and toolchains are known to not produce stable code when using
LTO, be sure to test things thoroughly before relying on it. It can
provide a few % speed up over profile-opt alone.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26624">bpo-26624</a>: Adds validation of ucrtbase[d].dll version with warning for old
versions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17603">bpo-17603</a>: Avoid error about nonexistant fileblocks.o file by using a
lower-level check for st_blocks in struct stat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26079">bpo-26079</a>: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern
Thiel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update Windows builds to use OpenSSL 1.0.2g.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25348">bpo-25348</a>: Added <code class="docutils literal notranslate"><span class="pre">--pgo</span></code> and <code class="docutils literal notranslate"><span class="pre">--pgo-job</span></code> arguments to
<code class="docutils literal notranslate"><span class="pre">PCbuild\build.bat</span></code> for building with Profile-Guided Optimization.  The
old <code class="docutils literal notranslate"><span class="pre">PCbuild\build_pgo.bat</span></code> script is removed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25827">bpo-25827</a>: Add support for building with ICC to <code class="docutils literal notranslate"><span class="pre">configure</span></code>, including a
new <code class="docutils literal notranslate"><span class="pre">--with-icc</span></code> flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25696">bpo-25696</a>: Fix installation of Python on UNIX with make -j9.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24986">bpo-24986</a>: It is now possible to build Python on Windows without errors
when external libraries are not available.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24421">bpo-24421</a>: Compile Modules/_math.c once, before building extensions.
Previously it could fail to compile properly if the math and cmath builds
were concurrent.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update OS X 10.5+ 32-bit-only installer to build and link with
OpenSSL 1.0.2g.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update Windows builds to use OpenSSL 1.0.2f.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25136">bpo-25136</a>: Support Apple Xcode 7’s new textual SDK stub libraries.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24324">bpo-24324</a>: Do not enable unreachable code warnings when using gcc as the
option does not work correctly in older versions of gcc and has been
silently removed as of gcc-4.5.</p></li>
</ul>
</div>
<div class="section" id="id177">
<h3>Windows<a class="headerlink" href="#id177" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27053">bpo-27053</a>: Updates make_zip.py to correctly generate library ZIP file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update the prepare_ssl.py script to handle OpenSSL releases
that don’t include the contents of the include directory (that is, 1.0.2e
and later).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26071">bpo-26071</a>: bdist_wininst created binaries fail to start and find 32bit
Python</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26073">bpo-26073</a>: Update the list of magic numbers in launcher</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26065">bpo-26065</a>: Excludes venv from library when generating embeddable distro.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25022">bpo-25022</a>: Removed very outdated PC/example_nt/ directory.</p></li>
</ul>
</div>
<div class="section" id="id178">
<h3>Tools/Demos<a class="headerlink" href="#id178" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26799">bpo-26799</a>: Fix python-gdb.py: don’t get C types once when the Python code
is loaded, but get C types on demand. The C types can change if
python-gdb.py is loaded before the Python executable. Patch written by
Thomas Ilsche.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26271">bpo-26271</a>: Fix the Freeze tool to properly use flags passed through
configure. Patch by Daniel Shaulov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26489">bpo-26489</a>: Add dictionary unpacking support to Tools/parser/unparse.py.
Patch by Guo Ci Teo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26316">bpo-26316</a>: Fix variable name typo in Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25440">bpo-25440</a>: Fix output of python-config –extension-suffix.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25154">bpo-25154</a>: The pyvenv script has been deprecated in favour of <code class="xref py py-obj docutils literal notranslate"><span class="pre">python3</span> <span class="pre">-m</span>
<span class="pre">venv</span></code>.</p></li>
</ul>
</div>
<div class="section" id="id179">
<h3>C API<a class="headerlink" href="#id179" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26312">bpo-26312</a>: SystemError is now raised in all programming bugs with using
PyArg_ParseTupleAndKeywords().  RuntimeError did raised before in some
programming bugs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26198">bpo-26198</a>: ValueError is now raised instead of TypeError on buffer
overflow in parsing “es#” and “et#” format units.  SystemError is now
raised instead of TypeError on programmatical error in parsing format
string.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-3-final">
<h2>Python 3.5.3 final<a class="headerlink" href="#python-3-5-3-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-01-17</em></p>
<p>There were no code changes between 3.5.3rc1 and 3.5.3 final.</p>
</div>
<div class="section" id="python-3-5-3-release-candidate-1">
<h2>Python 3.5.3 release candidate 1<a class="headerlink" href="#python-3-5-3-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2017-01-02</em></p>
<div class="section" id="id180">
<h3>Core and Builtins<a class="headerlink" href="#id180" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29073">bpo-29073</a>: bytearray formatting no longer truncates on first null byte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28932">bpo-28932</a>: Do not include &lt;sys/random.h&gt; if it does not exist.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28147">bpo-28147</a>: Fix a memory leak in split-table dictionaries: setattr() must
not convert combined table into split table.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25677">bpo-25677</a>: Correct the positioning of the syntax error caret for indented
blocks. Based on patch by Michael Layzell.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29000">bpo-29000</a>: Fixed bytes formatting of octals with zero padding in alternate
form.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28512">bpo-28512</a>: Fixed setting the offset attribute of SyntaxError by
PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28991">bpo-28991</a>: functools.lru_cache() was susceptible to an obscure reentrancy
bug caused by a monkey-patched len() function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28648">bpo-28648</a>: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X
when decode astral characters.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19398">bpo-19398</a>: Extra slash no longer added to sys.path components in case of
empty compile-time PYTHONPATH components.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28426">bpo-28426</a>: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
build.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23782">bpo-23782</a>: Fixed possible memory leak in _PyTraceback_Add() and exception
loss in PyTraceBack_Here().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28379">bpo-28379</a>: Added sanity checks and tests for PyUnicode_CopyCharacters().
Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The type of long range iterator is now registered as Iterator.
Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28376">bpo-28376</a>: The constructor of range_iterator now checks that step is not
0. Patch by Oren Milman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26906">bpo-26906</a>: Resolving special methods of uninitialized type now causes
implicit initialization of the type instead of a fail.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18287">bpo-18287</a>: PyType_Ready() now checks that tp_name is not NULL. Original
patch by Niklas Koep.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24098">bpo-24098</a>: Fixed possible crash when AST is changed in process of
compiling it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28350">bpo-28350</a>: String constants with null character no longer interned.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26617">bpo-26617</a>: Fix crash when GC runs during weakref callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: String constants now interned recursively in tuples and
frozensets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21578">bpo-21578</a>: Fixed misleading error message when ImportError called with
invalid keyword args.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28203">bpo-28203</a>: Fix incorrect type in error message from <code class="docutils literal notranslate"><span class="pre">complex(1.0,</span>
<span class="pre">{2:3})</span></code>. Patch by Soumya Sharma.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27955">bpo-27955</a>: Fallback on reading /dev/urandom device when the getrandom()
syscall fails with EPERM, for example when blocked by SECCOMP.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28131">bpo-28131</a>: Fix a regression in zipimport’s compile_source().  zipimport
should use the same optimization level as the interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25221">bpo-25221</a>: Fix corrupted result from PyLong_FromLong(0) when Python is
compiled with NSMALLPOSINTS = 0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25758">bpo-25758</a>: Prevents zipimport from unnecessarily encoding a filename
(patch by Eryk Sun)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28189">bpo-28189</a>: dictitems_contains no longer swallows compare errors. (Patch by
Xiang Zhang)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27812">bpo-27812</a>: Properly clear out a generator’s frame’s backreference to the
generator to prevent crashes in frame.clear().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27811">bpo-27811</a>: Fix a crash when a coroutine that has not been awaited is
finalized with warnings-as-errors enabled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27587">bpo-27587</a>: Fix another issue found by PVS-Studio: Null pointer check after
use of ‘def’ in _PyState_AddModule(). Initial patch by Christian Heimes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26020">bpo-26020</a>: set literal evaluation order did not match documented
behaviour.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27782">bpo-27782</a>: Multi-phase extension module import now correctly allows the
<code class="docutils literal notranslate"><span class="pre">m_methods</span></code> field to be used to add module level functions to instances
of non-module types returned from <code class="docutils literal notranslate"><span class="pre">Py_create_mod</span></code>. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27936">bpo-27936</a>: The round() function accepted a second None argument for some
types but not for others.  Fixed the inconsistency by accepting None for
all numeric types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27487">bpo-27487</a>: Warn if a submodule argument to “python -m” or
runpy.run_module() is found in sys.modules after parent packages are
imported, but before the submodule is executed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27558">bpo-27558</a>: Fix a SystemError in the implementation of “raise” statement.
In a brand new thread, raise a RuntimeError since there is no active
exception to reraise. Patch written by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27419">bpo-27419</a>: Standard __import__() no longer look up “__import__” in globals
or builtins for importing submodules or “from import”.  Fixed handling an
error of non-string package name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27083">bpo-27083</a>: Respect the PYTHONCASEOK environment variable under Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27514">bpo-27514</a>: Make having too many statically nested blocks a SyntaxError
instead of SystemError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27473">bpo-27473</a>: Fixed possible integer overflow in bytes and bytearray
concatenations. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27507">bpo-27507</a>: Add integer overflow check in bytearray.extend().  Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27581">bpo-27581</a>: Don’t rely on wrapping for overflow check in
PySequence_Tuple().  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27443">bpo-27443</a>: __length_hint__() of bytearray iterators no longer return a
negative integer for a resized bytearray.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27942">bpo-27942</a>: Fix memory leak in codeobject.c</p></li>
</ul>
</div>
<div class="section" id="id181">
<h3>Library<a class="headerlink" href="#id181" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue15812">bpo-15812</a>: inspect.getframeinfo() now correctly shows the first line of a
context. Patch by Sam Breese.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29094">bpo-29094</a>: Offsets in a ZIP file created with extern file object and modes
“w” and “x” now are relative to the start of the file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13051">bpo-13051</a>: Fixed recursion errors in large or resized
curses.textpad.Textbox.  Based on patch by Tycho Andersen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue29119">bpo-29119</a>: Fix weakrefs in the pure python version of
collections.OrderedDict move_to_end() method. Contributed by Andra
Bogildea.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9770">bpo-9770</a>: curses.ascii predicates now work correctly with negative
integers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28427">bpo-28427</a>: old keys should not remove new values from WeakValueDictionary
when collecting from another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28923">bpo-28923</a>: Remove editor artifacts from Tix.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28871">bpo-28871</a>: Fixed a crash when deallocate deep ElementTree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19542">bpo-19542</a>: Fix bugs in WeakValueDictionary.setdefault() and
WeakValueDictionary.pop() when a GC collection happens in another thread.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20191">bpo-20191</a>: Fixed a crash in resource.prlimit() when pass a sequence that
doesn’t own its elements as limits.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28779">bpo-28779</a>: multiprocessing.set_forkserver_preload() would crash the
forkserver process if a preloaded module instantiated some multiprocessing
objects such as locks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28847">bpo-28847</a>: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25659">bpo-25659</a>: In ctypes, prevent a crash calling the from_buffer() and
from_buffer_copy() methods on abstract classes like Array.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28732">bpo-28732</a>: Fix crash in os.spawnv() with no elements in args</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28485">bpo-28485</a>: Always raise ValueError for negative
compileall.compile_dir(workers=…) parameter, even when multithreading is
unavailable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28387">bpo-28387</a>: Fixed possible crash in _io.TextIOWrapper deallocator when the
garbage collector is invoked in other thread.  Based on patch by Sebastian
Cufre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27517">bpo-27517</a>: LZMA compressor and decompressor no longer raise exceptions if
given empty data twice.  Patch by Benjamin Fogle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28549">bpo-28549</a>: Fixed segfault in curses’s addch() with ncurses6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28449">bpo-28449</a>: tarfile.open() with mode “r” or “r:” now tries to open a tar
file with compression before trying to open it without compression.
Otherwise it had 50% chance failed with ignore_zeros=True.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23262">bpo-23262</a>: The webbrowser module now supports Firefox 36+ and derived
browsers.  Based on patch by Oleg Broytman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27939">bpo-27939</a>: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
by representing the scale as float value internally in Tk.  tkinter.IntVar
now works if float value is set to underlying Tk variable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28255">bpo-28255</a>: calendar.TextCalendar().prmonth() no longer prints a space at
the start of new line after printing a month’s calendar.  Patch by Xiang
Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20491">bpo-20491</a>: The textwrap.TextWrapper class now honors non-breaking spaces.
Based on patch by Kaarle Ritvanen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28353">bpo-28353</a>: os.fwalk() no longer fails on broken links.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25464">bpo-25464</a>: Fixed HList.header_exists() in tkinter.tix module by addin a
workaround to Tix library bug.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28488">bpo-28488</a>: shutil.make_archive() no longer add entry “./” to ZIP archive.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24452">bpo-24452</a>: Make webbrowser support Chrome on Mac OS X.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20766">bpo-20766</a>: Fix references leaked by pdb in the handling of SIGINT
handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26293">bpo-26293</a>: Fixed writing ZIP files that starts not from the start of the
file.  Offsets in ZIP file now are relative to the start of the archive in
conforming to the specification.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28321">bpo-28321</a>: Fixed writing non-BMP characters with binary format in
plistlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28322">bpo-28322</a>: Fixed possible crashes when unpickle itertools objects from
incorrect pickle data.  Based on patch by John Leitch.</p></li>
<li><p>Fix possible integer overflows and crashes in the mmap module with unusual
usage patterns.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1703178">bpo-1703178</a>: Fix the ability to pass the –link-objects option to the
distutils build_ext command.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28253">bpo-28253</a>: Fixed calendar functions for extreme months: 0001-01 and
9999-12.</p>
<p>Methods itermonthdays() and itermonthdays2() are reimplemented so that
they don’t call itermonthdates() which can cause datetime.date
under/overflow.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28275">bpo-28275</a>: Fixed possible use after free in the decompress() methods of
the LZMADecompressor and BZ2Decompressor classes. Original patch by John
Leitch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27897">bpo-27897</a>: Fixed possible crash in sqlite3.Connection.create_collation()
if pass invalid string-like object as a name.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18893">bpo-18893</a>: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py.
Patch by Madison May.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27611">bpo-27611</a>: Fixed support of default root window in the tkinter.tix module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27348">bpo-27348</a>: In the traceback module, restore the formatting of exception
messages like “Exception: None”.  This fixes a regression introduced in
3.5a2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25651">bpo-25651</a>: Allow falsy values to be used for msg parameter of subTest().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27932">bpo-27932</a>: Prevent memory leak in win32_ver().</p></li>
<li><p>Fix UnboundLocalError in socket._sendfile_use_sendfile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28075">bpo-28075</a>: Check for ERROR_ACCESS_DENIED in Windows implementation of
os.stat().  Patch by Eryk Sun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25270">bpo-25270</a>: Prevent codecs.escape_encode() from raising SystemError when an
empty bytestring is passed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28181">bpo-28181</a>: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25895">bpo-25895</a>: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by
Gergely Imreh and Markus Holtermann.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27599">bpo-27599</a>: Fixed buffer overrun in binascii.b2a_qp() and
binascii.a2b_qp().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19003">bpo-19003</a>: m email.generator now replaces only <code class="docutils literal notranslate"><span class="pre">\r</span></code> and/or <code class="docutils literal notranslate"><span class="pre">\n</span></code> line
endings, per the RFC, instead of all unicode line endings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28019">bpo-28019</a>: itertools.count() no longer rounds non-integer step in range
between 1.0 and 2.0 to 1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25969">bpo-25969</a>: Update the lib2to3 grammar to handle the unpacking
generalizations added in 3.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14977">bpo-14977</a>: mailcap now respects the order of the lines in the mailcap
files (“first match”), as required by RFC 1542.  Patch by Michael Lazar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24594">bpo-24594</a>: Validates persist parameter when opening MSI database</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17582">bpo-17582</a>: xml.etree.ElementTree nows preserves whitespaces in attributes
(Patch by Duane Griffin.  Reviewed and approved by Stefan Behnel.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28047">bpo-28047</a>: Fixed calculation of line length used for the base64 CTE in the
new email policies.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27445">bpo-27445</a>: Don’t pass str(_charset) to MIMEText.set_payload(). Patch by
Claude Paroz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22450">bpo-22450</a>: urllib now includes an <code class="docutils literal notranslate"><span class="pre">Accept:</span> <span class="pre">*/*</span></code> header among the default
headers. This makes the results of REST API requests more consistent and
predictable especially when proxy servers are involved.</p></li>
<li><p>lib2to3.pgen3.driver.load_grammar() now creates a stable cache file
between runs given the same Grammar.txt input regardless of the hash
randomization setting.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27570">bpo-27570</a>: Avoid zero-length memcpy() etc calls with null source pointers
in the “ctypes” and “array” modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22233">bpo-22233</a>: Break email header lines <em>only</em> on the RFC specified CR and LF
characters, not on arbitrary unicode line breaks.  This also fixes a bug
in HTTP header parsing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27988">bpo-27988</a>: Fix email iter_attachments incorrect mutation of payload list.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27691">bpo-27691</a>: Fix ssl module’s parsing of GEN_RID subject alternative name
fields in X.509 certs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27850">bpo-27850</a>: Remove 3DES from ssl module’s default cipher list to counter
measure sweet32 attack (CVE-2016-2183).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27766">bpo-27766</a>: Add ChaCha20 Poly1305 to ssl module’s default cipher list.
(Required OpenSSL 1.1.0 or LibreSSL).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26470">bpo-26470</a>: Port ssl and hashlib module to OpenSSL 1.1.0.</p></li>
<li><p>Remove support for passing a file descriptor to os.access. It never worked
but previously didn’t raise.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12885">bpo-12885</a>: Fix error when distutils encounters symlink.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27881">bpo-27881</a>: Fixed possible bugs when setting
sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27861">bpo-27861</a>: Fixed a crash in sqlite3.Connection.cursor() when a factory
creates not a cursor.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19884">bpo-19884</a>: Avoid spurious output on OS X with Gnu Readline.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27706">bpo-27706</a>: Restore deterministic behavior of random.Random().seed() for
string seeds using seeding version 1.  Allows sequences of calls to
random() to exactly match those obtained in Python 2. Patch by Nofar
Schnider.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10513">bpo-10513</a>: Fix a regression in Connection.commit().  Statements should not
be reset after a commit.</p></li>
<li><p>A new version of typing.py from <a class="reference external" href="https://github.com/python/typing">https://github.com/python/typing</a>:
Collection (only for 3.6) (<a class="reference external" href="https://bugs.python.org/issue27598">bpo-27598</a>). Add FrozenSet to __all__
(upstream #261). Fix crash in _get_type_vars() (upstream #259). Remove the
dict constraint in ForwardRef._eval_type (upstream #252).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27539">bpo-27539</a>: Fix unnormalised <code class="docutils literal notranslate"><span class="pre">Fraction.__pow__</span></code> result in the case of
negative exponent and negative base.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21718">bpo-21718</a>: cursor.description is now available for queries using CTEs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2466">bpo-2466</a>: posixpath.ismount now correctly recognizes mount points which
the user does not have permission to access.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27773">bpo-27773</a>: Correct some memory management errors server_hostname in
_ssl.wrap_socket().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26750">bpo-26750</a>: unittest.mock.create_autospec() now works properly for
subclasses of property() and other data descriptors.</p></li>
<li><p>In the curses module, raise an error if window.getstr() or window.instr()
is passed a negative value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27783">bpo-27783</a>: Fix possible usage of uninitialized memory in
operator.methodcaller.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27774">bpo-27774</a>: Fix possible Py_DECREF on unowned object in _sre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27760">bpo-27760</a>: Fix possible integer overflow in binascii.b2a_qp.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27758">bpo-27758</a>: Fix possible integer overflow in the _csv module for large
record lengths.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27568">bpo-27568</a>: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
HTTP_PROXY variable when REQUEST_METHOD environment is set, which
indicates that the script is in CGI mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27656">bpo-27656</a>: Do not assume sched.h defines any SCHED_* constants.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27130">bpo-27130</a>: In the “zlib” module, fix handling of large buffers (typically
4 GiB) when compressing and decompressing.  Previously, inputs were
limited to 4 GiB, and compression and decompression operations did not
properly handle results of 4 GiB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27533">bpo-27533</a>: Release GIL in nt._isdir</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17711">bpo-17711</a>: Fixed unpickling by the persistent ID with protocol 0. Original
patch by Alexandre Vassalotti.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27522">bpo-27522</a>: Avoid an unintentional reference cycle in email.feedparser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26844">bpo-26844</a>: Fix error message for imp.find_module() to refer to ‘path’
instead of ‘name’. Patch by Lev Maximov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL zero-length recv() calls to not block and not raise an
error about unclean EOF.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27466">bpo-27466</a>: Change time format returned by http.cookie.time2netscape,
confirming the netscape cookie format and making it consistent with
documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26664">bpo-26664</a>: Fix activate.fish by removing mis-use of <code class="docutils literal notranslate"><span class="pre">$</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22115">bpo-22115</a>: Fixed tracing Tkinter variables: trace_vdelete() with wrong
mode no longer break tracing, trace_vinfo() now always returns a list of
pairs of strings, tracing in the “u” mode now works.</p></li>
<li><p>Fix a scoping issue in importlib.util.LazyLoader which triggered an
UnboundLocalError when lazy-loading a module that was already put into
sys.modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27079">bpo-27079</a>: Fixed curses.ascii functions isblank(), iscntrl() and
ispunct().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: Some functions (compile() etc) accepted a filename argument
encoded as an iterable of integers. Now only strings and byte-like objects
are accepted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27048">bpo-27048</a>: Prevents distutils failing on Windows when environment
variables contain non-ASCII characters</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27330">bpo-27330</a>: Fixed possible leaks in the ctypes module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27238">bpo-27238</a>: Got rid of bare excepts in the turtle module.  Original patch
by Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27122">bpo-27122</a>: When an exception is raised within the context being managed by
a contextlib.ExitStack() and one of the exit stack generators catches and
raises it in a chain, do not re-raise the original exception when exiting,
let the new chained one through.  This avoids the PEP 479 bug described in
issue25782.</p></li>
</ul>
</div>
<div class="section" id="id182">
<h3>Security<a class="headerlink" href="#id182" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27278">bpo-27278</a>: Fix os.urandom() implementation using getrandom() on Linux.
Truncate size to INT_MAX and loop until we collected enough random bytes,
instead of casting a directly Py_ssize_t to int.</p></li>
</ul>
</div>
<div class="section" id="id183">
<h3>Library<a class="headerlink" href="#id183" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26386">bpo-26386</a>: Fixed ttk.TreeView selection operations with item id’s
containing spaces.</p></li>
</ul>
</div>
<div class="section" id="id184">
<h3>Security<a class="headerlink" href="#id184" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22636">bpo-22636</a>: Avoid shell injection problems with ctypes.util.find_library().</p></li>
</ul>
</div>
<div class="section" id="id185">
<h3>Library<a class="headerlink" href="#id185" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue16182">bpo-16182</a>: Fix various functions in the “readline” module to use the
locale encoding, and fix get_begidx() and get_endidx() to return code
point indexes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27392">bpo-27392</a>: Add loop.connect_accepted_socket(). Patch by Jim Fulton.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27930">bpo-27930</a>: Improved behaviour of logging.handlers.QueueListener. Thanks to
Paulo Andrade and Petr Viktorin for the analysis and patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21201">bpo-21201</a>: Improves readability of multiprocessing error message.  Thanks
to Wojciech Walczak for patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27456">bpo-27456</a>: asyncio: Set TCP_NODELAY by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27906">bpo-27906</a>: Fix socket accept exhaustion during high TCP traffic. Patch by
Kevin Conway.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28174">bpo-28174</a>: Handle when SO_REUSEPORT isn’t properly supported. Patch by
Seth Michael Larson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26654">bpo-26654</a>: Inspect functools.partial in asyncio.Handle.__repr__. Patch by
iceboy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26909">bpo-26909</a>: Fix slow pipes IO in asyncio. Patch by INADA Naoki.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28176">bpo-28176</a>: Fix callbacks race in asyncio.SelectorLoop.sock_connect.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27759">bpo-27759</a>: Fix selectors incorrectly retain invalid file descriptors.
Patch by Mark Williams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28368">bpo-28368</a>: Refuse monitoring processes if the child watcher has no loop
attached. Patch by Vincent Michel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28369">bpo-28369</a>: Raise RuntimeError when transport’s FD is used with add_reader,
add_writer, etc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28370">bpo-28370</a>: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
Марк.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28371">bpo-28371</a>: Deprecate passing asyncio.Handles to run_in_executor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28372">bpo-28372</a>: Fix asyncio to support formatting of non-python coroutines.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28399">bpo-28399</a>: Remove UNIX socket from FS before binding. Patch by Коренберг
Марк.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27972">bpo-27972</a>: Prohibit Tasks to await on themselves.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26923">bpo-26923</a>: Fix asyncio.Gather to refuse being cancelled once all children
are done. Patch by Johannes Ebke.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26796">bpo-26796</a>: Don’t configure the number of workers for default threadpool
executor. Initial patch by Hans Lawrenz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28600">bpo-28600</a>: Optimize loop.call_soon().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28613">bpo-28613</a>: Fix get_event_loop() return the current loop if called from
coroutines/callbacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28639">bpo-28639</a>: Fix inspect.isawaitable to always return bool Patch by Justin
Mayfield.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28652">bpo-28652</a>: Make loop methods reject socket kinds they do not support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28653">bpo-28653</a>: Fix a refleak in functools.lru_cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28703">bpo-28703</a>: Fix asyncio.iscoroutinefunction to handle Mock objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24142">bpo-24142</a>: Reading a corrupt config file left the parser in an invalid
state.  Original patch by Florian Höch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28990">bpo-28990</a>: Fix SSL hanging if connection is closed before handshake
completed. (Patch by HoHo-Ho)</p></li>
</ul>
</div>
<div class="section" id="id186">
<h3>IDLE<a class="headerlink" href="#id186" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue15308">bpo-15308</a>: Add ‘interrupt execution’ (^C) to Shell menu. Patch by Roger
Serwy, updated by Bayard Randel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27922">bpo-27922</a>: Stop IDLE tests from ‘flashing’ gui widgets on the screen.</p></li>
<li><p>Add version to title of IDLE help window.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25564">bpo-25564</a>: In section on IDLE – console differences, mention that using
exec means that __builtins__ is defined for each statement.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27714">bpo-27714</a>: text_textview and test_autocomplete now pass when re-run in the
same process.  This occurs when test_idle fails when run with the -w
option but without -jn.  Fix warning from test_config.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: IDLE no longer runs buggy code because of its tkinter imports.
Users must include the same imports required to run directly in Python.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27452">bpo-27452</a>: add line counter and crc to IDLE configHandler test dump.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27245">bpo-27245</a>: IDLE: Cleanly delete custom themes and key bindings.
Previously, when IDLE was started from a console or by import, a cascade
of warnings was emitted. Patch by Serhiy Storchaka.</p></li>
</ul>
</div>
<div class="section" id="id187">
<h3>C API<a class="headerlink" href="#id187" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28808">bpo-28808</a>: PyUnicode_CompareWithASCIIString() now never raises exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26754">bpo-26754</a>: PyUnicode_FSDecoder() accepted a filename argument encoded as
an iterable of integers. Now only strings and bytes-like objects are
accepted.</p></li>
</ul>
</div>
<div class="section" id="id188">
<h3>Documentation<a class="headerlink" href="#id188" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28513">bpo-28513</a>: Documented command-line interface of zipfile.</p></li>
</ul>
</div>
<div class="section" id="id189">
<h3>Tests<a class="headerlink" href="#id189" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28950">bpo-28950</a>: Disallow -j0 to be combined with -T/-l/-M in regrtest command
line arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28666">bpo-28666</a>: Now test.support.rmtree is able to remove unwritable or
unreadable directories.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23839">bpo-23839</a>: Various caches now are cleared before running every test file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28409">bpo-28409</a>: regrtest: fix the parser of command line arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27787">bpo-27787</a>: Call gc.collect() before checking each test for “dangling
threads”, since the dangling threads are weak references.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27369">bpo-27369</a>: In test_pyexpat, avoid testing an error message detail that
changed in Expat 2.2.0.</p></li>
</ul>
</div>
<div class="section" id="id190">
<h3>Tools/Demos<a class="headerlink" href="#id190" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27952">bpo-27952</a>: Get Tools/scripts/fixcid.py working with Python 3 and the
current “re” module, avoid invalid Python backslash escapes, and fix a bug
parsing escaped C quote signs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27332">bpo-27332</a>: Fixed the type of the first argument of module-level functions
generated by Argument Clinic.  Patch by Petr Viktorin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27418">bpo-27418</a>: Fixed Tools/importbench/importbench.py.</p></li>
</ul>
</div>
<div class="section" id="id191">
<h3>Windows<a class="headerlink" href="#id191" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue28251">bpo-28251</a>: Improvements to help manuals on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28110">bpo-28110</a>: launcher.msi has different product codes between 32-bit and
64-bit</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25144">bpo-25144</a>: Ensures TargetDir is set before continuing with custom install.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27469">bpo-27469</a>: Adds a shell extension to the launcher so that drag and drop
works correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27309">bpo-27309</a>: Enabled proper Windows styles in python[w].exe manifest.</p></li>
</ul>
</div>
<div class="section" id="id192">
<h3>Build<a class="headerlink" href="#id192" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue29080">bpo-29080</a>: Removes hard dependency on hg.exe from PCBuild/build.bat</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23903">bpo-23903</a>: Added missed names to PC/python3.def.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10656">bpo-10656</a>: Fix out-of-tree building on AIX.  Patch by Tristan Carel and
Michael Haubenwallner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Rename –with-optimiations to –enable-optimizations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28444">bpo-28444</a>: Fix missing extensions modules when cross compiling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28248">bpo-28248</a>: Update Windows build and OS X installers to use OpenSSL 1.0.2j.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28258">bpo-28258</a>: Fixed build with Estonian locale (python-config and distclean
targets in Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26661">bpo-26661</a>: setup.py now detects system libffi with multiarch wrapper.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28066">bpo-28066</a>: Fix the logic that searches build directories for generated
include files when building outside the source tree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15819">bpo-15819</a>: Remove redundant include search directory option for building
outside the source tree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27566">bpo-27566</a>: Fix clean target in freeze makefile (patch by Lisa Roach)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27705">bpo-27705</a>: Update message in validate_ucrtbase.py</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27983">bpo-27983</a>: Cause lack of llvm-profdata tool when using clang as required
for PGO linking to be a configure time error rather than make time when
<code class="docutils literal notranslate"><span class="pre">--with-optimizations</span></code> is enabled.  Also improve our ability to find the
llvm-profdata tool on MacOS and some Linuxes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26307">bpo-26307</a>: The profile-opt build now applies PGO to the built-in modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26359">bpo-26359</a>: Add the –with-optimizations configure flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27713">bpo-27713</a>: Suppress spurious build warnings when updating importlib’s
bootstrap files. Patch by Xiang Zhang</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25825">bpo-25825</a>: Correct the references to Modules/python.exp and ld_so_aix,
which are required on AIX.  This updates references to an installation
path that was changed in 3.2a4, and undoes changed references to the build
tree that were made in 3.5.0a1.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27453">bpo-27453</a>: CPP invocation in configure must use CPPFLAGS. Patch by Chi
Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27641">bpo-27641</a>: The configure script now inserts comments into the makefile to
prevent the pgen and _freeze_importlib executables from being
cross-compiled.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26662">bpo-26662</a>: Set PYTHON_FOR_GEN in configure as the Python program to be
used for file generation during the build.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10910">bpo-10910</a>: Avoid C++ compilation errors on FreeBSD and OS X. Also update
FreedBSD version checks for the original ctype UTF-8 workaround.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue28676">bpo-28676</a>: Prevent missing ‘getentropy’ declaration warning on macOS.
Patch by Gareth Rees.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-2-final">
<h2>Python 3.5.2 final<a class="headerlink" href="#python-3-5-2-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-06-26</em></p>
<div class="section" id="id193">
<h3>Core and Builtins<a class="headerlink" href="#id193" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update Windows builds to use OpenSSL 1.0.2h.</p></li>
</ul>
</div>
<div class="section" id="id194">
<h3>Tests<a class="headerlink" href="#id194" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26867">bpo-26867</a>: Ubuntu’s openssl OP_NO_SSLv3 is forced on by default; fix test.</p></li>
</ul>
</div>
<div class="section" id="id195">
<h3>IDLE<a class="headerlink" href="#id195" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27365">bpo-27365</a>: Allow non-ascii in idlelib/NEWS.txt - minimal part for 3.5.2.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-2-release-candidate-1">
<h2>Python 3.5.2 release candidate 1<a class="headerlink" href="#python-3-5-2-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2016-06-12</em></p>
<div class="section" id="id196">
<h3>Core and Builtins<a class="headerlink" href="#id196" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27066">bpo-27066</a>: Fixed SystemError if a custom opener (for open()) returns a
negative number without setting an exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20041">bpo-20041</a>: Fixed TypeError when frame.f_trace is set to None. Patch by
Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26168">bpo-26168</a>: Fixed possible refleaks in failing Py_BuildValue() with the “N”
format unit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26991">bpo-26991</a>: Fix possible refleak when creating a function with annotations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27039">bpo-27039</a>: Fixed bytearray.remove() for values greater than 127.  Patch by
Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23640">bpo-23640</a>: int.from_bytes() no longer bypasses constructors for
subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26811">bpo-26811</a>: gc.get_objects() no longer contains a broken tuple with NULL
pointer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20120">bpo-20120</a>: Use RawConfigParser for .pypirc parsing, removing support for
interpolation unintentionally added with move to Python 3. Behavior no
longer does any interpolation in .pypirc files, matching behavior in
Python 2.7 and Setuptools 19.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26659">bpo-26659</a>: Make the builtin slice type support cycle collection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26718">bpo-26718</a>: super.__init__ no longer leaks memory if called multiple times.
NOTE: A direct call of super.__init__ is not endorsed!</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25339">bpo-25339</a>: PYTHONIOENCODING now has priority over locale in setting the
error handler for stdin and stdout.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26494">bpo-26494</a>: Fixed crash on iterating exhausting iterators. Affected classes
are generic sequence iterators, iterators of str, bytes, bytearray, list,
tuple, set, frozenset, dict, OrderedDict, corresponding views and
os.scandir() iterator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26581">bpo-26581</a>: If coding cookie is specified multiple times on a line in
Python source code file, only the first one is taken to account.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26464">bpo-26464</a>: Fix str.translate() when string is ASCII and first replacements
removes character, but next replacement uses a non-ASCII character or a
string longer than 1 character. Regression introduced in Python 3.5.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22836">bpo-22836</a>: Ensure exception reports from PyErr_Display() and
PyErr_WriteUnraisable() are sensible even when formatting them produces
secondary errors.  This affects the reports produced by
sys.__excepthook__() and when __del__() raises an exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26302">bpo-26302</a>: Correct behavior to reject comma as a legal character for
cookie names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4806">bpo-4806</a>: Avoid masking the original TypeError exception when using star
(<code class="docutils literal notranslate"><span class="pre">*</span></code>) unpacking in function calls.  Based on patch by Hagen Fürstenau
and Daniel Urban.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27138">bpo-27138</a>: Fix the doc comment for FileFinder.find_spec().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26154">bpo-26154</a>: Add a new private _PyThreadState_UncheckedGet() function to get
the current Python thread state, but don’t issue a fatal error if it is
NULL. This new function must be used instead of accessing directly the
_PyThreadState_Current variable.  The variable is no more exposed since
Python 3.5.1 to hide the exact implementation of atomic C types, to avoid
compiler issues.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26194">bpo-26194</a>: Deque.insert() gave odd results for bounded deques that had
reached their maximum size.  Now an IndexError will be raised when
attempting to insert into a full deque.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25843">bpo-25843</a>: When compiling code, don’t merge constants if they are equal
but have a different types. For example, <code class="docutils literal notranslate"><span class="pre">f1,</span> <span class="pre">f2</span> <span class="pre">=</span> <span class="pre">lambda:</span> <span class="pre">1,</span> <span class="pre">lambda:</span>
<span class="pre">1.0</span></code> is now correctly compiled to two different functions: <code class="docutils literal notranslate"><span class="pre">f1()</span></code>
returns <code class="docutils literal notranslate"><span class="pre">1</span></code> (<code class="docutils literal notranslate"><span class="pre">int</span></code>) and <code class="docutils literal notranslate"><span class="pre">f2()</span></code> returns <code class="docutils literal notranslate"><span class="pre">1.0</span></code> (<code class="docutils literal notranslate"><span class="pre">int</span></code>), even if
<code class="docutils literal notranslate"><span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">1.0</span></code> are equal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: [UPDATE] Comment out the one of the pickleability tests in
_PyObject_GetState() due to regressions observed in Cython-based projects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25961">bpo-25961</a>: Disallowed null characters in the type name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25973">bpo-25973</a>: Fix segfault when an invalid nonlocal statement binds a name
starting with two underscores.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Instances of extension types with a state that aren’t
subclasses of list or dict and haven’t implemented any pickle-related
methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or
__getstate__), can no longer be pickled.  Including memoryview.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20440">bpo-20440</a>: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25766">bpo-25766</a>: Special method __bytes__() now works in str subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25421">bpo-25421</a>: __sizeof__ methods of builtin types now use dynamic basic size.
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8
cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27147">bpo-27147</a>: Mention PEP 420 in the importlib docs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24097">bpo-24097</a>: Fixed crash in object.__reduce__() if slot name is freed inside
__getattr__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24731">bpo-24731</a>: Fixed crash on converting objects with special methods
__bytes__, __trunc__, and __float__ returning instances of subclasses of
bytes, int, and float to subclasses of bytes, int, and float
correspondingly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26478">bpo-26478</a>: Fix semantic bugs when using binary operators with dictionary
views and tuples.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26171">bpo-26171</a>: Fix possible integer overflow and heap corruption in
zipimporter.get_data().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25660">bpo-25660</a>: Fix TAB key behaviour in REPL with readline.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25887">bpo-25887</a>: Raise a RuntimeError when a coroutine object is awaited more
than once.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27243">bpo-27243</a>: Update the __aiter__ protocol: instead of returning an
awaitable that resolves to an asynchronous iterator, the asynchronous
iterator should be returned directly.  Doing the former will trigger a
PendingDeprecationWarning.</p></li>
</ul>
</div>
<div class="section" id="id197">
<h3>Security<a class="headerlink" href="#id197" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26556">bpo-26556</a>: Update expat to 2.1.1, fixes CVE-2015-1283.</p></li>
<li><p>Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by
Team Oststrom</p></li>
</ul>
</div>
<div class="section" id="id198">
<h3>Library<a class="headerlink" href="#id198" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21386">bpo-21386</a>: Implement missing IPv4Address.is_global property.  It was
documented since 07a5610bae9d.  Initial patch by Roger Luethi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20900">bpo-20900</a>: distutils register command now decodes HTTP responses
correctly.  Initial patch by ingrid.</p></li>
<li><p>A new version of typing.py provides several new classes and features:
&#64;overload outside stubs, DefaultDict, Text, ContextManager, Type[],
NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of the
new features are not yet implemented in mypy or other static analyzers).
Also classes for PEP 492 (Awaitable, AsyncIterable, AsyncIterator) have
been added (in fact they made it into 3.5.1 but were never mentioned).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25738">bpo-25738</a>: Stop http.server.BaseHTTPRequestHandler.send_error() from
sending a message body for 205 Reset Content.  Also, don’t send Content
header fields in responses that don’t have a body.  Patch by Susumu
Koshiba.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21313">bpo-21313</a>: Fix the “platform” module to tolerate when sys.version contains
truncated build information.</p></li>
</ul>
</div>
<div class="section" id="id199">
<h3>Security<a class="headerlink" href="#id199" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26839">bpo-26839</a>: On Linux, <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> now calls <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> with
<code class="docutils literal notranslate"><span class="pre">GRND_NONBLOCK</span></code> to fall back on reading <code class="docutils literal notranslate"><span class="pre">/dev/urandom</span></code> if the urandom
entropy pool is not initialized yet. Patch written by Colm Buckley.</p></li>
</ul>
</div>
<div class="section" id="id200">
<h3>Library<a class="headerlink" href="#id200" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue27164">bpo-27164</a>: In the zlib module, allow decompressing raw Deflate streams
with a predefined zdict.  Based on patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24291">bpo-24291</a>: Fix wsgiref.simple_server.WSGIRequestHandler to completely
write data to the client.  Previously it could do partial writes and
truncate data.  Also, wsgiref.handler.ServerHandler can now handle stdout
doing partial writes, but this is deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26809">bpo-26809</a>: Add <code class="docutils literal notranslate"><span class="pre">__all__</span></code> to <a class="reference internal" href="../library/string.html#module-string" title="string: Common string operations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">string</span></code></a>.  Patch by Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26373">bpo-26373</a>: subprocess.Popen.communicate now correctly ignores
BrokenPipeError when the child process dies before .communicate() is
called in more/all circumstances.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21776">bpo-21776</a>: distutils.upload now correctly handles HTTPError. Initial patch
by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27114">bpo-27114</a>: Fix SSLContext._load_windows_store_certs fails with
PermissionError</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18383">bpo-18383</a>: Avoid creating duplicate filters when using filterwarnings and
simplefilter. Based on patch by Alex Shkop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27057">bpo-27057</a>: Fix os.set_inheritable() on Android, ioctl() is blocked by
SELinux and fails with EACCESS. The function now falls back to fcntl().
Patch written by Michał Bednarski.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27014">bpo-27014</a>: Fix infinite recursion using typing.py.  Thanks to Kalle Tuure!</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14132">bpo-14132</a>: Fix urllib.request redirect handling when the target only has a
query string.  Original fix by Ján Janech.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17214">bpo-17214</a>: The “urllib.request” module now percent-encodes non-ASCII bytes
found in redirect target URLs.  Some servers send Location header fields
with non-ASCII bytes, but “http.client” requires the request target to be
ASCII-encodable, otherwise a UnicodeEncodeError is raised.  Based on patch
by Christian Heimes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26892">bpo-26892</a>: Honor debuglevel flag in urllib.request.HTTPHandler. Patch
contributed by Chi Hsuan Yen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22274">bpo-22274</a>: In the subprocess module, allow stderr to be redirected to
stdout even when stdout is not redirected.  Patch by Akira Li.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26807">bpo-26807</a>: mock_open ‘files’ no longer error on readline at end of file.
Patch from Yolanda Robla.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25745">bpo-25745</a>: Fixed leaking a userptr in curses panel destructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26977">bpo-26977</a>: Removed unnecessary, and ignored, call to sum of squares helper
in statistics.pvariance.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26881">bpo-26881</a>: The modulefinder module now supports extended opcode arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23815">bpo-23815</a>: Fixed crashes related to directly created instances of types in
_tkinter and curses.panel modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17765">bpo-17765</a>: weakref.ref() no longer silently ignores keyword arguments.
Patch by Georg Brandl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26873">bpo-26873</a>: xmlrpc now raises ResponseError on unsupported type tags
instead of silently return incorrect result.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26711">bpo-26711</a>: Fixed the comparison of plistlib.Data with other types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24114">bpo-24114</a>: Fix an uninitialized variable in <code class="xref py py-obj docutils literal notranslate"><span class="pre">ctypes.util</span></code>.</p>
<p>The bug only occurs on SunOS when the ctypes implementation searches for
the <code class="xref py py-obj docutils literal notranslate"><span class="pre">crle</span></code> program.  Patch by Xiang Zhang.  Tested on SunOS by Kees Bos.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26864">bpo-26864</a>: In urllib.request, change the proxy bypass host checking
against no_proxy to be case-insensitive, and to not match unrelated host
names that happen to have a bypassed hostname as a suffix.  Patch by Xiang
Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26634">bpo-26634</a>: recursive_repr() now sets __qualname__ of wrapper.  Patch by
Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26804">bpo-26804</a>: urllib.request will prefer lower_case proxy environment
variables over UPPER_CASE or Mixed_Case ones. Patch contributed by
Hans-Peter Jansen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26837">bpo-26837</a>: assertSequenceEqual() now correctly outputs non-stringified
differing items (like bytes in the -b mode).  This affects
assertListEqual() and assertTupleEqual().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26041">bpo-26041</a>: Remove “will be removed in Python 3.7” from deprecation
messages of platform.dist() and platform.linux_distribution(). Patch by
Kumaripaba Miyurusara Athukorala.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26822">bpo-26822</a>: itemgetter, attrgetter and methodcaller objects no longer
silently ignore keyword arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26733">bpo-26733</a>: Disassembling a class now disassembles class and static
methods. Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26801">bpo-26801</a>: Fix error handling in <a class="reference internal" href="../library/shutil.html#shutil.get_terminal_size" title="shutil.get_terminal_size"><code class="xref py py-func docutils literal notranslate"><span class="pre">shutil.get_terminal_size()</span></code></a>, catch
<a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a> instead of <a class="reference internal" href="../library/exceptions.html#NameError" title="NameError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NameError</span></code></a>. Patch written by
Emanuel Barry.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24838">bpo-24838</a>: tarfile’s ustar and gnu formats now correctly calculate name
and link field limits for multibyte character encodings like utf-8.</p></li>
</ul>
</div>
<div class="section" id="id201">
<h3>Security<a class="headerlink" href="#id201" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26657">bpo-26657</a>: Fix directory traversal vulnerability with http.server on
Windows.  This fixes a regression that was introduced in 3.3.4rc1 and
3.4.0rc1.  Based on patch by Philipp Hagemeister.</p></li>
</ul>
</div>
<div class="section" id="id202">
<h3>Library<a class="headerlink" href="#id202" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26717">bpo-26717</a>: Stop encoding Latin-1-ized WSGI paths with UTF-8.  Patch by
Anthony Sottile.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26735">bpo-26735</a>: Fix <a class="reference internal" href="../library/os.html#os.urandom" title="os.urandom"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.urandom()</span></code></a> on Solaris 11.3 and newer when reading
more than 1,024 bytes: call <code class="docutils literal notranslate"><span class="pre">getrandom()</span></code> multiple times with a limit of
1024 bytes per call.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16329">bpo-16329</a>: Add .webm to mimetypes.types_map.  Patch by Giampaolo Rodola’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13952">bpo-13952</a>: Add .csv to mimetypes.types_map.  Patch by Geoff Wilson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26709">bpo-26709</a>: Fixed Y2038 problem in loading binary PLists.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23735">bpo-23735</a>: Handle terminal resizing with Readline 6.3+ by installing our
own SIGWINCH handler.  Patch by Eric Price.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26586">bpo-26586</a>: In http.server, respond with “413 Request header fields too
large” if there are too many header fields to parse, rather than killing
the connection and raising an unhandled exception.  Patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22854">bpo-22854</a>: Change BufferedReader.writable() and BufferedWriter.readable()
to always return False.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25195">bpo-25195</a>: Fix a regression in mock.MagicMock. _Call is a subclass of
tuple (changeset 3603bae63c13 only works for classes) so we need to
implement __ne__ ourselves.  Patch by Andrew Plummer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26644">bpo-26644</a>: Raise ValueError rather than SystemError when a negative length
is passed to SSLSocket.recv() or read().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23804">bpo-23804</a>: Fix SSL recv(0) and read(0) methods to return zero bytes
instead of up to 1024.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26616">bpo-26616</a>: Fixed a bug in datetime.astimezone() method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21925">bpo-21925</a>: <a class="reference internal" href="../library/warnings.html#warnings.formatwarning" title="warnings.formatwarning"><code class="xref py py-func docutils literal notranslate"><span class="pre">warnings.formatwarning()</span></code></a> now catches exceptions on
<code class="docutils literal notranslate"><span class="pre">linecache.getline(...)</span></code> to be able to log <a class="reference internal" href="../library/exceptions.html#ResourceWarning" title="ResourceWarning"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResourceWarning</span></code></a>
emitted late during the Python shutdown process.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24266">bpo-24266</a>: Ctrl+C during Readline history search now cancels the search
mode when compiled with Readline 7.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26560">bpo-26560</a>: Avoid potential ValueError in BaseHandler.start_response.
Initial patch by Peter Inglesby.</p></li>
</ul>
</div>
<div class="section" id="id203">
<h3>Security<a class="headerlink" href="#id203" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26313">bpo-26313</a>: ssl.py _load_windows_store_certs fails if windows cert store is
empty. Patch by Baji.</p></li>
</ul>
</div>
<div class="section" id="id204">
<h3>Library<a class="headerlink" href="#id204" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26569">bpo-26569</a>: Fix <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule()</span></code></a> and <a class="reference internal" href="../library/pyclbr.html#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal notranslate"><span class="pre">pyclbr.readmodule_ex()</span></code></a>
to support importing packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26499">bpo-26499</a>: Account for remaining Content-Length in HTTPResponse.readline()
and read1(). Based on patch by Silent Ghost. Also document that
HTTPResponse now supports these methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25320">bpo-25320</a>: Handle sockets in directories unittest discovery is scanning.
Patch from Victor van den Elzen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16181">bpo-16181</a>: cookiejar.http2time() now returns None if year is higher than
datetime.MAXYEAR.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26513">bpo-26513</a>: Fixes platform module detection of Windows Server</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23718">bpo-23718</a>: Fixed parsing time in week 0 before Jan 1.  Original patch by
Tamás Bence Gedai.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20589">bpo-20589</a>: Invoking Path.owner() and Path.group() on Windows now raise
NotImplementedError instead of ImportError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26177">bpo-26177</a>: Fixed the keys() method for Canvas and Scrollbar widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15068">bpo-15068</a>: Got rid of excessive buffering in the fileinput module. The
bufsize parameter is no longer used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2202">bpo-2202</a>: Fix UnboundLocalError in
AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu
Dupuy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed pickling and copying the accumulate() iterator with total
is None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26475">bpo-26475</a>: Fixed debugging output for regular expressions with the (?x)
flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26457">bpo-26457</a>: Fixed the subnets() methods in IP network classes for the case
when resulting prefix length is equal to maximal prefix length. Based on
patch by Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26385">bpo-26385</a>: Remove the file if the internal open() call in
NamedTemporaryFile() fails. Patch by Silent Ghost.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26402">bpo-26402</a>: Fix XML-RPC client to retry when the server shuts down a
persistent connection.  This was a regression related to the new
http.client.RemoteDisconnected exception in 3.5.0a4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25913">bpo-25913</a>: Leading <code class="docutils literal notranslate"><span class="pre">&lt;~</span></code> is optional now in base64.a85decode() with
adobe=True.  Patch by Swati Jaiswal.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26186">bpo-26186</a>: Remove an invalid type check in importlib.util.LazyLoader.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26367">bpo-26367</a>: importlib.__import__() raises SystemError like
builtins.__import__() when <code class="docutils literal notranslate"><span class="pre">level</span></code> is specified but without an
accompanying package specified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26309">bpo-26309</a>: In the “socketserver” module, shut down the request (closing
the connected socket) when verify_request() returns false.  Patch by Aviv
Palivoda.</p></li>
</ul>
</div>
<div class="section" id="id205">
<h3>Security<a class="headerlink" href="#id205" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25939">bpo-25939</a>: On Windows open the cert store readonly in
ssl.enum_certificates.</p></li>
</ul>
</div>
<div class="section" id="id206">
<h3>Library<a class="headerlink" href="#id206" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25995">bpo-25995</a>: os.walk() no longer uses FDs proportional to the tree depth.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26117">bpo-26117</a>: The os.scandir() iterator now closes file descriptor not only
when the iteration is finished, but when it was failed with error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25911">bpo-25911</a>: Restored support of bytes paths in os.walk() on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26045">bpo-26045</a>: Add UTF-8 suggestion to error message when posting a
non-Latin-1 string with http.client.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12923">bpo-12923</a>: Reset FancyURLopener’s redirect counter even if there is an
exception. Based on patches by Brian Brazil and Daniel Rocco.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25945">bpo-25945</a>: Fixed a crash when unpickle the functools.partial object with
wrong state. Fixed a leak in failed functools.partial constructor. “args”
and “keywords” attributes of functools.partial have now always types tuple
and dict correspondingly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26202">bpo-26202</a>: copy.deepcopy() now correctly copies range() objects with
non-atomic attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23076">bpo-23076</a>: Path.glob() now raises a ValueError if it’s called with an
invalid pattern. Patch by Thomas Nyberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19883">bpo-19883</a>: Fixed possible integer overflows in zipimport.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26227">bpo-26227</a>: On Windows, getnameinfo(), gethostbyaddr() and
gethostbyname_ex() functions of the socket module now decode the hostname
from the ANSI code page rather than UTF-8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26147">bpo-26147</a>: xmlrpc now works with strings not encodable with used non-UTF-8
encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25935">bpo-25935</a>: Garbage collector now breaks reference loops with OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16620">bpo-16620</a>: Fixed AttributeError in msilib.Directory.glob().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26013">bpo-26013</a>: Added compatibility with broken protocol 2 pickles created in
old Python 3 versions (3.4.3 and lower).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25850">bpo-25850</a>: Use cross-compilation by default for 64-bit Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17633">bpo-17633</a>: Improve zipimport’s support for namespace packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24705">bpo-24705</a>: Fix sysconfig._parse_makefile not expanding ${} vars appearing
before $() vars.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22138">bpo-22138</a>: Fix mock.patch behavior when patching descriptors. Restore
original values after patching. Patch contributed by Sean McCully.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25672">bpo-25672</a>: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
option if it is safe to do so.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26012">bpo-26012</a>: Don’t traverse into symlinks for <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern in
pathlib.Path.[r]glob().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24120">bpo-24120</a>: Ignore PermissionError when traversing a tree with
pathlib.Path.[r]glob(). Patch by Ulrich Petri.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: fileinput now uses sys.stdin as-is if it does not have a buffer
attribute (restores backward compatibility).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: Copying the lru_cache() wrapper object now always works,
independently from the type of the wrapped object (by returning the
original object unchanged).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24103">bpo-24103</a>: Fixed possible use after free in ElementTree.XMLPullParser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25860">bpo-25860</a>: os.fwalk() no longer skips remaining directories when error
occurs. Original patch by Samson Lee.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25914">bpo-25914</a>: Fixed and simplified OrderedDict.__sizeof__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25902">bpo-25902</a>: Fixed various refcount issues in ElementTree iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25717">bpo-25717</a>: Restore the previous behaviour of tolerating most fstat()
errors when opening files.  This was a regression in 3.5a1, and stopped
anonymous temporary files from working in special cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24903">bpo-24903</a>: Fix regression in number of arguments compileall accepts when
‘-d’ is specified.  The check on the number of arguments has been dropped
completely as it never worked correctly anyway.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25764">bpo-25764</a>: In the subprocess module, preserve any exception caused by
fork() failure when preexec_fn is used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6478">bpo-6478</a>: _strptime’s regexp cache now is reset after changing timezone
with time.tzset().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14285">bpo-14285</a>: When executing a package with the “python -m package” option,
and package initialization fails, a proper traceback is now reported.  The
“runpy” module now lets exceptions from package initialization pass back
to the caller, rather than raising ImportError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19771">bpo-19771</a>: Also in runpy and the “-m” option, omit the irrelevant message
“… is a package and cannot be directly executed” if the package could
not even be initialized (e.g. due to a bad <code class="docutils literal notranslate"><span class="pre">*.pyc</span></code> file).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25177">bpo-25177</a>: Fixed problem with the mean of very small and very large
numbers. As a side effect, statistics.mean and statistics.variance should
be significantly faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25718">bpo-25718</a>: Fixed copying object with state with boolean value is false.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10131">bpo-10131</a>: Fixed deep copying of minidom documents.  Based on patch by
Marian Ganisin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25725">bpo-25725</a>: Fixed a reference leak in pickle.loads() when unpickling
invalid data including tuple instructions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25663">bpo-25663</a>: In the Readline completer, avoid listing duplicate global
names, and search the global namespace before searching builtins.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25688">bpo-25688</a>: Fixed file leak in ElementTree.iterparse() raising an error.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23914">bpo-23914</a>: Fixed SystemError raised by unpickler on broken pickle data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25691">bpo-25691</a>: Fixed crash on deleting ElementTree.Element attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25624">bpo-25624</a>: ZipFile now always writes a ZIP_STORED header for directory
entries.  Patch by Dingyuan Wang.</p></li>
<li><p>Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu
Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26050">bpo-26050</a>: Add asyncio.StreamReader.readuntil() method. Patch by Марк
Коренберг.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25924">bpo-25924</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on OS X
versions 10.5 or higher.  Original patch by A. Jesse Jiryu Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26406">bpo-26406</a>: Avoid unnecessary serialization of getaddrinfo(3) calls on
current versions of OpenBSD and NetBSD.  Patch by A. Jesse Jiryu Davis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26848">bpo-26848</a>: Fix asyncio/subprocess.communicate() to handle empty input.
Patch by Jack O’Connor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27040">bpo-27040</a>: Add loop.get_exception_handler method</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27041">bpo-27041</a>: asyncio: Add loop.create_future method</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27223">bpo-27223</a>: asyncio: Fix _read_ready and _write_ready to respect
_conn_lost. Patch by Łukasz Langa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22970">bpo-22970</a>: asyncio: Fix inconsistency cancelling Condition.wait. Patch by
David Coles.</p></li>
</ul>
</div>
<div class="section" id="id207">
<h3>IDLE<a class="headerlink" href="#id207" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue5124">bpo-5124</a>: Paste with text selected now replaces the selection on X11. This
matches how paste works on Windows, Mac, most modern Linux apps, and ttk
widgets. Original patch by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24759">bpo-24759</a>: Make clear in idlelib.idle_test.__init__ that the directory is
a private implementation of test.test_idle and tool for maintainers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27196">bpo-27196</a>: Stop ‘ThemeChanged’ warnings when running IDLE tests. These
persisted after other warnings were suppressed in #20567. Apply Serhiy
Storchaka’s update_idletasks solution to four test files. Record this
additional advice in idle_test/README.txt</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20567">bpo-20567</a>: Revise idle_test/README.txt with advice about avoiding tk
warning messages from tests.  Apply advice to several IDLE tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27117">bpo-27117</a>: Make colorizer htest and turtledemo work with dark themes. Move
code for configuring text widget colors to a new function.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26673">bpo-26673</a>: When tk reports font size as 0, change to size 10. Such fonts
on Linux prevented the configuration dialog from opening.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21939">bpo-21939</a>: Add test for IDLE’s percolator. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21676">bpo-21676</a>: Add test for IDLE’s replace dialog. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18410">bpo-18410</a>: Add test for IDLE’s search dialog. Original patch by Westley
Martínez.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21703">bpo-21703</a>: Add test for IDLE’s undo delegator. Original patch by Saimadhav
Heblikar .</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27044">bpo-27044</a>: Add ConfigDialog.remove_var_callbacks to stop memory leaks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23977">bpo-23977</a>: Add more asserts to test_delegator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20640">bpo-20640</a>: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav
Heblikar.</p></li>
<li><p>In the ‘IDLE-console differences’ section of the IDLE doc, clarify how
running with IDLE affects sys.modules and the standard streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25507">bpo-25507</a>: fix incorrect change in IOBinding that prevented printing.
Augment IOBinding htest to include all major IOBinding functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25905">bpo-25905</a>: Revert unwanted conversion of ‘ to ’ RIGHT SINGLE QUOTATION
MARK in README.txt and open this and NEWS.txt with ‘ascii’. Re-encode
CREDITS.txt to utf-8 and open it with ‘utf-8’.</p></li>
</ul>
</div>
<div class="section" id="id208">
<h3>Documentation<a class="headerlink" href="#id208" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue19489">bpo-19489</a>: Moved the search box from the sidebar to the header and footer
of each page. Patch by Ammar Askar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24136">bpo-24136</a>: Document the new PEP 448 unpacking syntax of 3.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26736">bpo-26736</a>: Used HTTPS for external links in the documentation if possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6953">bpo-6953</a>: Rework the Readline module documentation to group related
functions together, and add more details such as what underlying Readline
functions and variables are accessed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23606">bpo-23606</a>: Adds note to ctypes documentation regarding cdll.msvcrt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25500">bpo-25500</a>: Fix documentation to not claim that __import__ is searched for
in the global scope.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26014">bpo-26014</a>: Update 3.x packaging documentation: * “See also” links to the
new docs are now provided in the legacy pages * links to setuptools
documentation have been updated</p></li>
</ul>
</div>
<div class="section" id="id209">
<h3>Tests<a class="headerlink" href="#id209" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21916">bpo-21916</a>: Added tests for the turtle module.  Patch by ingrid, Gregory
Loyse and Jelle Zijlstra.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26523">bpo-26523</a>: The multiprocessing thread pool (multiprocessing.dummy.Pool)
was untested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26015">bpo-26015</a>: Added new tests for pickling iterators of mutable sequences.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26325">bpo-26325</a>: Added test.support.check_no_resource_warning() to check that no
ResourceWarning is emitted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25940">bpo-25940</a>: Changed test_ssl to use self-signed.pythontest.net.  This
avoids relying on svn.python.org, which recently changed root certificate.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25616">bpo-25616</a>: Tests for OrderedDict are extracted from test_collections into
separate file test_ordered_dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26583">bpo-26583</a>: Skip test_timestamp_overflow in test_import if bytecode files
cannot be written.</p></li>
</ul>
</div>
<div class="section" id="id210">
<h3>Build<a class="headerlink" href="#id210" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26884">bpo-26884</a>: Fix linking extension modules for cross builds. Patch by Xavier
de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Disable the rules for running _freeze_importlib and pgen when
cross-compiling.  The output of these programs is normally saved with the
source code anyway, and is still regenerated when doing a native build.
Patch by Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue27229">bpo-27229</a>: Fix the cross-compiling pgen rule for in-tree builds.  Patch by
Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21668">bpo-21668</a>: Link audioop, _datetime, _ctypes_test modules to libm, except
on Mac OS X. Patch written by Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25702">bpo-25702</a>: A –with-lto configure option has been added that will enable
link time optimizations at build time during a make profile-opt. Some
compilers and toolchains are known to not produce stable code when using
LTO, be sure to test things thoroughly before relying on it. It can
provide a few % speed up over profile-opt alone.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26624">bpo-26624</a>: Adds validation of ucrtbase[d].dll version with warning for old
versions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17603">bpo-17603</a>: Avoid error about nonexistant fileblocks.o file by using a
lower-level check for st_blocks in struct stat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26079">bpo-26079</a>: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern
Thiel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26465">bpo-26465</a>: Update Windows builds to use OpenSSL 1.0.2g.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24421">bpo-24421</a>: Compile Modules/_math.c once, before building extensions.
Previously it could fail to compile properly if the math and cmath builds
were concurrent.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25348">bpo-25348</a>: Added <code class="docutils literal notranslate"><span class="pre">--pgo</span></code> and <code class="docutils literal notranslate"><span class="pre">--pgo-job</span></code> arguments to
<code class="docutils literal notranslate"><span class="pre">PCbuild\build.bat</span></code> for building with Profile-Guided Optimization.  The
old <code class="docutils literal notranslate"><span class="pre">PCbuild\build_pgo.bat</span></code> script is now deprecated, and simply calls
<code class="docutils literal notranslate"><span class="pre">PCbuild\build.bat</span> <span class="pre">--pgo</span> <span class="pre">%*</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25827">bpo-25827</a>: Add support for building with ICC to <code class="docutils literal notranslate"><span class="pre">configure</span></code>, including a
new <code class="docutils literal notranslate"><span class="pre">--with-icc</span></code> flag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25696">bpo-25696</a>: Fix installation of Python on UNIX with make -j9.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26930">bpo-26930</a>: Update OS X 10.5+ 32-bit-only installer to build and link with
OpenSSL 1.0.2h.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update Windows builds to use OpenSSL 1.0.2f.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25136">bpo-25136</a>: Support Apple Xcode 7’s new textual SDK stub libraries.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24324">bpo-24324</a>: Do not enable unreachable code warnings when using gcc as the
option does not work correctly in older versions of gcc and has been
silently removed as of gcc-4.5.</p></li>
</ul>
</div>
<div class="section" id="id211">
<h3>Windows<a class="headerlink" href="#id211" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue27053">bpo-27053</a>: Updates make_zip.py to correctly generate library ZIP file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26268">bpo-26268</a>: Update the prepare_ssl.py script to handle OpenSSL releases
that don’t include the contents of the include directory (that is, 1.0.2e
and later).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26071">bpo-26071</a>: bdist_wininst created binaries fail to start and find 32bit
Python</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26073">bpo-26073</a>: Update the list of magic numbers in launcher</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26065">bpo-26065</a>: Excludes venv from library when generating embeddable distro.</p></li>
</ul>
</div>
<div class="section" id="id212">
<h3>Tools/Demos<a class="headerlink" href="#id212" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue26799">bpo-26799</a>: Fix python-gdb.py: don’t get C types once when the Python code
is loaded, but get C types on demand. The C types can change if
python-gdb.py is loaded before the Python executable. Patch written by
Thomas Ilsche.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26271">bpo-26271</a>: Fix the Freeze tool to properly use flags passed through
configure. Patch by Daniel Shaulov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26489">bpo-26489</a>: Add dictionary unpacking support to Tools/parser/unparse.py.
Patch by Guo Ci Teo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue26316">bpo-26316</a>: Fix variable name typo in Argument Clinic.</p></li>
</ul>
</div>
<div class="section" id="id213">
<h3>Windows<a class="headerlink" href="#id213" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue17500">bpo-17500</a>: Remove unused and outdated icons. (See also:
<a class="reference external" href="https://github.com/python/pythondotorg/issues/945">https://github.com/python/pythondotorg/issues/945</a>)</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-1-final">
<h2>Python 3.5.1 final<a class="headerlink" href="#python-3-5-1-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-12-06</em></p>
<div class="section" id="id214">
<h3>Core and Builtins<a class="headerlink" href="#id214" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25709">bpo-25709</a>: Fixed problem with in-place string concatenation and utf-8
cache.</p></li>
</ul>
</div>
<div class="section" id="id215">
<h3>Windows<a class="headerlink" href="#id215" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25715">bpo-25715</a>: Python 3.5.1 installer shows wrong upgrade path and incorrect
logic for launcher detection.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-1-release-candidate-1">
<h2>Python 3.5.1 release candidate 1<a class="headerlink" href="#python-3-5-1-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-11-22</em></p>
<div class="section" id="id216">
<h3>Core and Builtins<a class="headerlink" href="#id216" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25630">bpo-25630</a>: Fix a possible segfault during argument parsing in functions
that accept filesystem paths.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23564">bpo-23564</a>: Fixed a partially broken sanity check in the _posixsubprocess
internals regarding how fds_to_pass were passed to the child.  The bug had
no actual impact as subprocess.py already avoided it.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25388">bpo-25388</a>: Fixed tokenizer crash when processing undecodable source code
with a null byte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25462">bpo-25462</a>: The hash of the key now is calculated only once in most
operations in C implementation of OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22995">bpo-22995</a>: Default implementation of __reduce__ and __reduce_ex__ now
rejects builtin types with not defined __new__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25555">bpo-25555</a>: Fix parser and AST: fill lineno and col_offset of “arg” node
when compiling AST from Python objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24802">bpo-24802</a>: Avoid buffer overreads when int(), float(), compile(), exec()
and eval() are passed bytes-like objects.  These objects are not
necessarily terminated by a null byte, but the functions assumed they
were.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24726">bpo-24726</a>: Fixed a crash and leaking NULL in repr() of OrderedDict that
was mutated by direct calls of dict methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Iterating OrderedDict with keys with unstable hash now raises
KeyError in C implementations as well as in Python implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25395">bpo-25395</a>: Fixed crash when highly nested OrderedDict structures were
garbage collected.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25274">bpo-25274</a>: sys.setrecursionlimit() now raises a RecursionError if the new
recursion limit is too low depending at the current recursion depth.
Modify also the “lower-water mark” formula to make it monotonic. This mark
is used to decide when the overflowed flag of the thread state is reset.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24402">bpo-24402</a>: Fix input() to prompt to the redirected stdout when
sys.stdout.fileno() fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24806">bpo-24806</a>: Prevent builtin types that are not allowed to be subclassed
from being subclassed through multiple inheritance.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24848">bpo-24848</a>: Fixed a number of bugs in UTF-7 decoding of misformed data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25280">bpo-25280</a>: Import trace messages emitted in verbose (-v) mode are no
longer formatted twice.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25003">bpo-25003</a>: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
function instead of the getentropy() function. The getentropy() function
is blocking to generate very good quality entropy, os.urandom() doesn’t
need such high-quality entropy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25182">bpo-25182</a>: The stdprinter (used as sys.stderr before the io module is
imported at startup) now uses the backslashreplace error handler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25131">bpo-25131</a>: Make the line number and column offset of set/dict literals and
comprehensions correspond to the opening brace.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25150">bpo-25150</a>: Hide the private _Py_atomic_xxx symbols from the public
Python.h header to fix a compilation error with OpenMP.
PyThreadState_GET() becomes an alias to PyThreadState_Get() to avoid ABI
incompatibilities.</p></li>
</ul>
</div>
<div class="section" id="id217">
<h3>Library<a class="headerlink" href="#id217" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25626">bpo-25626</a>: Change three zlib functions to accept sizes that fit in
Py_ssize_t, but internally cap those sizes to UINT_MAX.  This resolves a
regression in 3.5 where GzipFile.read() failed to read chunks larger than
2 or 4 GiB.  The change affects the zlib.Decompress.decompress()
max_length parameter, the zlib.decompress() bufsize parameter, and the
zlib.Decompress.flush() length parameter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25583">bpo-25583</a>: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
when the OS gives priority to errors such as EACCES over EEXIST.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25593">bpo-25593</a>: Change semantics of EventLoop.stop() in asyncio.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6973">bpo-6973</a>: When we know a subprocess.Popen process has died, do not allow
the send_signal(), terminate(), or kill() methods to do anything as they
could potentially signal a different process.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25590">bpo-25590</a>: In the Readline completer, only call getattr() once per
attribute.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25498">bpo-25498</a>: Fix a crash when garbage-collecting ctypes objects created by
wrapping a memoryview.  This was a regression made in 3.5a1.  Based on
patch by Eryksun.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Added “escape” to the __all__ list in the glob module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25584">bpo-25584</a>: Fixed recursive glob() with patterns starting with <code class="docutils literal notranslate"><span class="pre">**</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25446">bpo-25446</a>: Fix regression in smtplib’s AUTH LOGIN support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18010">bpo-18010</a>: Fix the pydoc web server’s module search function to handle
exceptions from importing packages.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25554">bpo-25554</a>: Got rid of circular references in regular expression parsing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25510">bpo-25510</a>: fileinput.FileInput.readline() now returns b’’ instead of ‘’ at
the end if the FileInput was opened with binary mode. Patch by Ryosuke
Ito.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25503">bpo-25503</a>: Fixed inspect.getdoc() for inherited docstrings of properties.
Original patch by John Mark Vandenberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25515">bpo-25515</a>: Always use os.urandom as a source of randomness in uuid.uuid4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21827">bpo-21827</a>: Fixed textwrap.dedent() for the case when largest common
whitespace is a substring of smallest leading whitespace. Based on patch
by Robert Li.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25447">bpo-25447</a>: The lru_cache() wrapper objects now can be copied and pickled
(by returning the original object unchanged).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25390">bpo-25390</a>: typing: Don’t crash on Union[str, Pattern].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25441">bpo-25441</a>: asyncio: Raise error from drain() when socket is closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25410">bpo-25410</a>: Cleaned up and fixed minor bugs in C implementation of
OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25411">bpo-25411</a>: Improved Unicode support in SMTPHandler through better use of
the email package. Thanks to user simon04 for the patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25407">bpo-25407</a>: Remove mentions of the formatter module being removed in Python
3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25406">bpo-25406</a>: Fixed a bug in C implementation of OrderedDict.move_to_end()
that caused segmentation fault or hang in iterating after moving several
items to the start of ordered dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25364">bpo-25364</a>: zipfile now works in threads disabled builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25328">bpo-25328</a>: smtpd’s SMTPChannel now correctly raises a ValueError if both
decode_data and enable_SMTPUTF8 are set to true.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25316">bpo-25316</a>: distutils raises OSError instead of DistutilsPlatformError when
MSVC is not installed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25380">bpo-25380</a>: Fixed protocol for the STACK_GLOBAL opcode in
pickletools.opcodes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23972">bpo-23972</a>: Updates asyncio datagram create method allowing reuseport and
reuseaddr socket options to be set prior to binding the socket. Mirroring
the existing asyncio create_server method the reuseaddr option for
datagram sockets defaults to True if the O/S is ‘posix’ (except if the
platform is Cygwin). Patch by Chris Laws.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25304">bpo-25304</a>: Add asyncio.run_coroutine_threadsafe().  This lets you submit a
coroutine to a loop from another thread, returning a
concurrent.futures.Future.  By Vincent Michel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25232">bpo-25232</a>: Fix CGIRequestHandler to split the query from the URL at the
first question mark (?) rather than the last. Patch from Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24657">bpo-24657</a>: Prevent CGIRequestHandler from collapsing slashes in the query
part of the URL as if it were a path. Patch from Xiang Zhang.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24483">bpo-24483</a>: C implementation of functools.lru_cache() now calculates key’s
hash only once.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22958">bpo-22958</a>: Constructor and update method of weakref.WeakValueDictionary
now accept the self and the dict keyword arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22609">bpo-22609</a>: Constructor of collections.UserDict now accepts the self
keyword argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25111">bpo-25111</a>: Fixed comparison of traceback.FrameSummary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25262">bpo-25262</a>: Added support for BINBYTES8 opcode in Python implementation of
unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
opcodes no longer silently ignored on 32-bit platforms in C
implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25034">bpo-25034</a>: Fix string.Formatter problem with auto-numbering and nested
format_specs. Patch by Anthon van der Neut.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25233">bpo-25233</a>: Rewrite the guts of asyncio.Queue and asyncio.Semaphore to be
more understandable and correct.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25203">bpo-25203</a>: Failed readline.set_completer_delims() no longer left the
module in inconsistent state.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23600">bpo-23600</a>: Default implementation of tzinfo.fromutc() was returning wrong
results in some cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23329">bpo-23329</a>: Allow the ssl module to be built with older versions of
LibreSSL.</p></li>
<li><p>Prevent overflow in _Unpickler_Read.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25047">bpo-25047</a>: The XML encoding declaration written by Element Tree now
respects the letter case given by the user. This restores the ability to
write encoding names in uppercase like “UTF-8”, which worked in Python 2.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25135">bpo-25135</a>: Make deque_clear() safer by emptying the deque before clearing.
This helps avoid possible reentrancy issues.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19143">bpo-19143</a>: platform module now reads Windows version from kernel32.dll to
avoid compatibility shims.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25092">bpo-25092</a>: Fix datetime.strftime() failure when errno was already set to
EINVAL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23517">bpo-23517</a>: Fix rounding in fromtimestamp() and utcfromtimestamp() methods
of datetime.datetime: microseconds are now rounded to nearest with ties
going to nearest even integer (ROUND_HALF_EVEN), instead of being rounding
towards minus infinity (ROUND_FLOOR). It’s important that these methods
use the same rounding mode than datetime.timedelta to keep the property:
(datetime(1970,1,1) + timedelta(seconds=t)) ==
datetime.utcfromtimestamp(t). It also the rounding mode used by
round(float) for example.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25155">bpo-25155</a>: Fix datetime.datetime.now() and datetime.datetime.utcnow() on
Windows to support date after year 2038. It was a regression introduced in
Python 3.5.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25108">bpo-25108</a>: Omitted internal frames in traceback functions print_stack(),
format_stack(), and extract_stack() called without arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25118">bpo-25118</a>: Fix a regression of Python 3.5.0 in os.waitpid() on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24684">bpo-24684</a>: socket.socket.getaddrinfo() now calls
PyUnicode_AsEncodedString() instead of calling the encode() method of the
host, to handle correctly custom string with an encode() method which
doesn’t return a byte string. The encoder of the IDNA codec is now called
directly instead of calling the encode() method of the string.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25060">bpo-25060</a>: Correctly compute stack usage of the BUILD_MAP opcode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24857">bpo-24857</a>: Comparing call_args to a long sequence now correctly returns a
boolean result instead of raising an exception.  Patch by A Kaptur.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23144">bpo-23144</a>: Make sure that HTMLParser.feed() returns all the data, even
when convert_charrefs is True.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24982">bpo-24982</a>: shutil.make_archive() with the “zip” format now adds entries
for directories (including empty directories) in ZIP file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25019">bpo-25019</a>: Fixed a crash caused by setting non-string key of expat parser.
Based on patch by John Leitch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16180">bpo-16180</a>: Exit pdb if file has syntax error, instead of trapping user in
an infinite loop.  Patch by Xavier de Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24891">bpo-24891</a>: Fix a race condition at Python startup if the file descriptor
of stdin (0), stdout (1) or stderr (2) is closed while Python is creating
sys.stdin, sys.stdout and sys.stderr objects. These attributes are now set
to None if the creation of the object failed, instead of raising an
OSError exception. Initial patch written by Marco Paolini.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24992">bpo-24992</a>: Fix error handling and a race condition (related to garbage
collection) in collections.OrderedDict constructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24881">bpo-24881</a>: Fixed setting binary mode in Python implementation of FileIO on
Windows and Cygwin.  Patch from Akira Li.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25578">bpo-25578</a>: Fix (another) memory leak in SSLSocket.getpeercer().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25530">bpo-25530</a>: Disable the vulnerable SSLv3 protocol by default when creating
ssl.SSLContext.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25569">bpo-25569</a>: Fix memory leak in SSLSocket.getpeercert().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25471">bpo-25471</a>: Sockets returned from accept() shouldn’t appear to be
nonblocking.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25319">bpo-25319</a>: When threading.Event is reinitialized, the underlying condition
should use a regular lock rather than a recursive lock.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21112">bpo-21112</a>: Fix regression in unittest.expectedFailure on subclasses. Patch
from Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24764">bpo-24764</a>: cgi.FieldStorage.read_multi() now ignores the Content-Length
header in part headers. Patch written by Peter Landry and reviewed by
Pierre Quentel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24913">bpo-24913</a>: Fix overrun error in deque.index(). Found by John Leitch and
Bryce Darling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24774">bpo-24774</a>: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21159">bpo-21159</a>: Improve message in
configparser.InterpolationMissingOptionError. Patch from Łukasz Langa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20362">bpo-20362</a>: Honour TestCase.longMessage correctly in assertRegex. Patch
from Ilia Kurenkov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23572">bpo-23572</a>: Fixed functools.singledispatch on classes with falsy
metaclasses.  Patch by Ethan Furman.</p></li>
<li><p>asyncio: ensure_future() now accepts awaitable objects.</p></li>
</ul>
</div>
<div class="section" id="id218">
<h3>IDLE<a class="headerlink" href="#id218" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue15348">bpo-15348</a>: Stop the debugger engine (normally in a user process) before
closing the debugger window (running in the IDLE process). This prevents
the RuntimeErrors that were being caught and ignored.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24455">bpo-24455</a>: Prevent IDLE from hanging when a) closing the shell while the
debugger is active (15347); b) closing the debugger with the [X] button
(15348); and c) activating the debugger when already active (24455). The
patch by Mark Roseman does this by making two changes. 1. Suspend and
resume the gui.interaction method with the tcl vwait mechanism intended
for this purpose (instead of root.mainloop &amp; .quit). 2. In gui.run, allow
any existing interaction to terminate first.</p></li>
<li><p>Change ‘The program’ to ‘Your program’ in an IDLE ‘kill program?’ message
to make it clearer that the program referred to is the currently running
user program, not IDLE itself.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24750">bpo-24750</a>: Improve the appearance of the IDLE editor window status bar.
Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25313">bpo-25313</a>: Change the handling of new built-in text color themes to better
address the compatibility problem introduced by the addition of IDLE Dark.
Consistently use the revised idleConf.CurrentTheme everywhere in idlelib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24782">bpo-24782</a>: Extension configuration is now a tab in the IDLE Preferences
dialog rather than a separate dialog.  The former tabs are now a sorted
list.  Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22726">bpo-22726</a>: Re-activate the config dialog help button with some content
about the other buttons and the new IDLE Dark theme.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: IDLE now has an ‘IDLE Dark’ built-in text color theme. It is
more or less IDLE Classic inverted, with a cobalt blue background.
Strings, comments, keywords, … are still green, red, orange, … . To
use it with IDLEs released before November 2015, hit the ‘Save as New
Custom Theme’ button and enter a new name, such as ‘Custom Dark’.  The
custom theme will work with any IDLE release, and can be modified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: README.txt is now an idlelib index for IDLE developers and
curious users. The previous user content is now in the IDLE doc chapter.
‘IDLE’ now means ‘Integrated Development and Learning Environment’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24820">bpo-24820</a>: Users can now set breakpoint colors in Settings -&gt; Custom
Highlighting. Original patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24972">bpo-24972</a>: Inactive selection background now matches active selection
background, as configured by users, on all systems.  Found items are now
always highlighted on Windows.  Initial patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24570">bpo-24570</a>: Idle: make calltip and completion boxes appear on Macs affected
by a tk regression.  Initial patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24988">bpo-24988</a>: Idle ScrolledList context menus (used in debugger) now work on
Mac Aqua. Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24801">bpo-24801</a>: Make right-click for context menu work on Mac Aqua. Patch by
Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25173">bpo-25173</a>: Associate tkinter messageboxes with a specific widget. For Mac
OSX, make them a ‘sheet’.  Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25198">bpo-25198</a>: Enhance the initial html viewer now used for Idle Help.
Properly indent fixed-pitch text (patch by Mark Roseman). Give code
snippet a very Sphinx-like light blueish-gray background. Re-use initial
width and height set by users for shell and editor. When the Table of
Contents (TOC) menu is used, put the section header at the top of the
screen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25225">bpo-25225</a>: Condense and rewrite Idle doc section on text colors.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21995">bpo-21995</a>: Explain some differences between IDLE and console Python.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22820">bpo-22820</a>: Explain need for <em>print</em> when running file from Idle editor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25224">bpo-25224</a>: Doc: augment Idle feature list and no-subprocess section.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25219">bpo-25219</a>: Update doc for Idle command line options. Some were missing and
notes were not correct.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24861">bpo-24861</a>: Most of idlelib is private and subject to change. Use
idleib.idle.* to start Idle. See idlelib.__init__.__doc__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25199">bpo-25199</a>: Idle: add synchronization comments for future maintainers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16893">bpo-16893</a>: Replace help.txt with help.html for Idle doc display. The new
idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks
better than help.txt and will better document Idle as released. The
tkinter html viewer that works for this file was written by Mark Roseman.
The now unused EditorWindow.HelpDialog class and helt.txt file are
deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24199">bpo-24199</a>: Deprecate unused idlelib.idlever with possible removal in 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24790">bpo-24790</a>: Remove extraneous code (which also create 2 &amp; 3 conflicts).</p></li>
</ul>
</div>
<div class="section" id="id219">
<h3>Documentation<a class="headerlink" href="#id219" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22558">bpo-22558</a>: Add remaining doc links to source code for Python-coded
modules. Patch by Yoni Lavi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12067">bpo-12067</a>: Rewrite Comparisons section in the Expressions chapter of the
language reference. Some of the details of comparing mixed types were
incorrect or ambiguous. NotImplemented is only relevant at a lower level
than the Expressions chapter. Added details of comparing range() objects,
and default behaviour and consistency suggestions for user-defined
classes. Patch from Andy Maier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24952">bpo-24952</a>: Clarify the default size argument of stack_size() in the
“threading” and “_thread” modules. Patch from Mattip.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23725">bpo-23725</a>: Overhaul tempfile docs. Note deprecated status of mktemp. Patch
from Zbigniew Jędrzejewski-Szmek.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24808">bpo-24808</a>: Update the types of some PyTypeObject fields.  Patch by Joseph
Weston.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22812">bpo-22812</a>: Fix unittest discovery examples. Patch from Pam McA’Nulty.</p></li>
</ul>
</div>
<div class="section" id="id220">
<h3>Tests<a class="headerlink" href="#id220" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25449">bpo-25449</a>: Added tests for OrderedDict subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25099">bpo-25099</a>: Make test_compileall not fail when an entry on sys.path cannot
be written to (commonly seen in administrative installs on Windows).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23919">bpo-23919</a>: Prevents assert dialogs appearing in the test suite.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">PCbuild\rt.bat</span></code> now accepts an unlimited number of arguments to pass
along to regrtest.py.  Previously there was a limit of 9.</p></li>
</ul>
</div>
<div class="section" id="id221">
<h3>Build<a class="headerlink" href="#id221" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24915">bpo-24915</a>: Add LLVM support for PGO builds and use the test suite to
generate the profile data. Initial patch by Alecsandru Patrascu of Intel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24910">bpo-24910</a>: Windows MSIs now have unique display names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24986">bpo-24986</a>: It is now possible to build Python on Windows without errors
when external libraries are not available.</p></li>
</ul>
</div>
<div class="section" id="id222">
<h3>Windows<a class="headerlink" href="#id222" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25450">bpo-25450</a>: Updates shortcuts to start Python in installation directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25164">bpo-25164</a>: Changes default all-users install directory to match per-user
directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25143">bpo-25143</a>: Improves installer error messages for unsupported platforms.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25163">bpo-25163</a>: Display correct directory in installer when using non-default
settings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25361">bpo-25361</a>: Disables use of SSE2 instructions in Windows 32-bit build</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25089">bpo-25089</a>: Adds logging to installer for case where launcher is not
selected on upgrade.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25165">bpo-25165</a>: Windows uninstallation should not remove launcher if other
versions remain</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25112">bpo-25112</a>: py.exe launcher is missing icons</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25102">bpo-25102</a>: Windows installer does not precompile for -O or -OO.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25081">bpo-25081</a>: Makes Back button in installer go back to upgrade page when
upgrading.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25091">bpo-25091</a>: Increases font size of the installer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25126">bpo-25126</a>: Clarifies that the non-web installer will download some
components.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25213">bpo-25213</a>: Restores requestedExecutionLevel to manifest to disable UAC
virtualization.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue25022">bpo-25022</a>: Removed very outdated PC/example_nt/ directory.</p></li>
</ul>
</div>
<div class="section" id="id223">
<h3>Tools/Demos<a class="headerlink" href="#id223" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25440">bpo-25440</a>: Fix output of python-config –extension-suffix.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-final">
<h2>Python 3.5.0 final<a class="headerlink" href="#python-3-5-0-final" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-09-13</em></p>
<div class="section" id="id224">
<h3>Build<a class="headerlink" href="#id224" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25071">bpo-25071</a>: Windows installer should not require TargetDir parameter when
installing quietly.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-release-candidate-4">
<h2>Python 3.5.0 release candidate 4<a class="headerlink" href="#python-3-5-0-release-candidate-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-09-09</em></p>
<div class="section" id="id225">
<h3>Library<a class="headerlink" href="#id225" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25029">bpo-25029</a>: Fixes MemoryError in test_strptime.</p></li>
</ul>
</div>
<div class="section" id="id226">
<h3>Build<a class="headerlink" href="#id226" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue25027">bpo-25027</a>: Reverts partial-static build options and adds vcruntime140.dll
to Windows installation.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-release-candidate-3">
<h2>Python 3.5.0 release candidate 3<a class="headerlink" href="#python-3-5-0-release-candidate-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-09-07</em></p>
<div class="section" id="id227">
<h3>Core and Builtins<a class="headerlink" href="#id227" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24305">bpo-24305</a>: Prevent import subsystem stack frames from being counted by the
warnings.warn(stacklevel=) parameter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24912">bpo-24912</a>: Prevent __class__ assignment to immutable built-in objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24975">bpo-24975</a>: Fix AST compilation for PEP 448 syntax.</p></li>
</ul>
</div>
<div class="section" id="id228">
<h3>Library<a class="headerlink" href="#id228" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24917">bpo-24917</a>: time_strftime() buffer over-read.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24748">bpo-24748</a>: To resolve a compatibility problem found with py2exe and
pywin32, imp.load_dynamic() once again ignores previously loaded modules
to support Python modules replacing themselves with extension modules.
Patch by Petr Viktorin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24635">bpo-24635</a>: Fixed a bug in typing.py where isinstance([], typing.Iterable)
would return True once, then False on subsequent calls.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24989">bpo-24989</a>: Fixed buffer overread in BytesIO.readline() if a position is
set beyond size.  Based on patch by John Leitch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24913">bpo-24913</a>: Fix overrun error in deque.index(). Found by John Leitch and
Bryce Darling.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-release-candidate-2">
<h2>Python 3.5.0 release candidate 2<a class="headerlink" href="#python-3-5-0-release-candidate-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-08-25</em></p>
<div class="section" id="id229">
<h3>Core and Builtins<a class="headerlink" href="#id229" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24769">bpo-24769</a>: Interpreter now starts properly when dynamic loading is
disabled.  Patch by Petr Viktorin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21167">bpo-21167</a>: NAN operations are now handled correctly when python is
compiled with ICC even if -fp-model strict is not specified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24492">bpo-24492</a>: A “package” lacking a __name__ attribute when trying to perform
a <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">..</span> <span class="pre">import</span> <span class="pre">...</span></code> statement will trigger an ImportError instead of
an AttributeError.</p></li>
</ul>
</div>
<div class="section" id="id230">
<h3>Library<a class="headerlink" href="#id230" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24847">bpo-24847</a>: Removes vcruntime140.dll dependency from Tcl/Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24839">bpo-24839</a>: platform._syscmd_ver raises DeprecationWarning</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24867">bpo-24867</a>: Fix Task.get_stack() for ‘async def’ coroutines</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-release-candidate-1">
<h2>Python 3.5.0 release candidate 1<a class="headerlink" href="#python-3-5-0-release-candidate-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-08-09</em></p>
<div class="section" id="id231">
<h3>Core and Builtins<a class="headerlink" href="#id231" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24667">bpo-24667</a>: Resize odict in all cases that the underlying dict resizes.</p></li>
</ul>
</div>
<div class="section" id="id232">
<h3>Library<a class="headerlink" href="#id232" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24824">bpo-24824</a>: Signatures of codecs.encode() and codecs.decode() now are
compatible with pydoc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24634">bpo-24634</a>: Importing uuid should not try to load libc on Windows</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24798">bpo-24798</a>: _msvccompiler.py doesn’t properly support manifests</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4395">bpo-4395</a>: Better testing and documentation of binary operators. Patch by
Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23973">bpo-23973</a>: Update typing.py from GitHub repo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23004">bpo-23004</a>: mock_open() now reads binary data correctly when the type of
read_data is bytes.  Initial patch by Aaron Hill.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23888">bpo-23888</a>: Handle fractional time in cookie expiry. Patch by ssh.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23652">bpo-23652</a>: Make it possible to compile the select module against the libc
headers from the Linux Standard Base, which do not include some EPOLL
macros.  Patch by Matt Frank.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22932">bpo-22932</a>: Fix timezones in email.utils.formatdate. Patch from Dmitry
Shachnev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23779">bpo-23779</a>: imaplib raises TypeError if authenticator tries to abort. Patch
from Craig Holmquist.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23319">bpo-23319</a>: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
written by Matthieu Gautier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23254">bpo-23254</a>: Document how to close the TCPServer listening socket. Patch
from Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19450">bpo-19450</a>: Update Windows and OS X installer builds to use SQLite 3.8.11.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17527">bpo-17527</a>: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24791">bpo-24791</a>: Fix grammar regression for call syntax: ‘g(*a or b)’.</p></li>
</ul>
</div>
<div class="section" id="id233">
<h3>IDLE<a class="headerlink" href="#id233" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23672">bpo-23672</a>: Allow Idle to edit and run files with astral chars in name.
Patch by Mohd Sanad Zaki Rizvi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24745">bpo-24745</a>: Idle editor default font. Switch from Courier to
platform-sensitive TkFixedFont.  This should not affect current customized
font selections.  If there is a problem, edit
$HOME/.idlerc/config-main.cfg and remove ‘fontxxx’ entries from [Editor
Window].  Patch by Mark Roseman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21192">bpo-21192</a>: Idle editor. When a file is run, put its name in the restart
bar. Do not print false prompts. Original patch by Adnan Umer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13884">bpo-13884</a>: Idle menus. Remove tearoff lines. Patch by Roger Serwy.</p></li>
</ul>
</div>
<div class="section" id="id234">
<h3>Documentation<a class="headerlink" href="#id234" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24129">bpo-24129</a>: Clarify the reference documentation for name resolution. This
includes removing the assumption that readers will be familiar with the
name resolution scheme Python used prior to the introduction of lexical
scoping for function namespaces. Patch by Ivan Levkivskyi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20769">bpo-20769</a>: Improve reload() docs. Patch by Dorian Pula.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23589">bpo-23589</a>: Remove duplicate sentence from the FAQ.  Patch by Yongzhi Pan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24729">bpo-24729</a>: Correct IO tutorial to match implementation regarding encoding
parameter to open function.</p></li>
</ul>
</div>
<div class="section" id="id235">
<h3>Tests<a class="headerlink" href="#id235" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24751">bpo-24751</a>: When running regrtest with the <code class="docutils literal notranslate"><span class="pre">-w</span></code> command line option, a
test run is no longer marked as a failure if all tests succeed when
re-run.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-beta-4">
<h2>Python 3.5.0 beta 4<a class="headerlink" href="#python-3-5-0-beta-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-07-26</em></p>
<div class="section" id="id236">
<h3>Core and Builtins<a class="headerlink" href="#id236" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23573">bpo-23573</a>: Restored optimization of bytes.rfind() and bytearray.rfind()
for single-byte argument on Linux.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24569">bpo-24569</a>: Make PEP 448 dictionary evaluation more consistent.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24583">bpo-24583</a>: Fix crash when set is mutated while being updated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24407">bpo-24407</a>: Fix crash when dict is mutated while being updated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24619">bpo-24619</a>: New approach for tokenizing async/await. As a consequence, it
is now possible to have one-line ‘async def foo(): await ..’ functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24687">bpo-24687</a>: Plug refleak on SyntaxError in function parameters annotations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15944">bpo-15944</a>: memoryview: Allow arbitrary formats when casting to bytes.
Patch by Martin Panter.</p></li>
</ul>
</div>
<div class="section" id="id237">
<h3>Library<a class="headerlink" href="#id237" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23441">bpo-23441</a>: rcompleter now prints a tab character instead of displaying
possible completions for an empty word.  Initial patch by Martin Sekera.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24683">bpo-24683</a>: Fixed crashes in _json functions called with arguments of
inappropriate type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21697">bpo-21697</a>: shutil.copytree() now correctly handles symbolic links that
point to directories.  Patch by Eduardo Seabra and Thomas Kluyver.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14373">bpo-14373</a>: Fixed segmentation fault when gc.collect() is called during
constructing lru_cache (C implementation).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24695">bpo-24695</a>: Fix a regression in traceback.print_exception().  If
exc_traceback is None we shouldn’t print a traceback header like described
in the documentation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24620">bpo-24620</a>: Random.setstate() now validates the value of state last
element.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22485">bpo-22485</a>: Fixed an issue that caused <a class="reference internal" href="../library/inspect.html#inspect.getsource" title="inspect.getsource"><code class="xref py py-obj docutils literal notranslate"><span class="pre">inspect.getsource</span></code></a> to return
incorrect results on nested functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22153">bpo-22153</a>: Improve unittest docs. Patch from Martin Panter and evilzero.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24580">bpo-24580</a>: Symbolic group references to open group in re patterns now are
explicitly forbidden as well as numeric group references.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24206">bpo-24206</a>: Fixed __eq__ and __ne__ methods of inspect classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24631">bpo-24631</a>: Fixed regression in the timeit module with multiline setup.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18622">bpo-18622</a>: unittest.mock.mock_open().reset_mock would recurse infinitely.
Patch from Nicola Palumbo and Laurent De Buyst.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23661">bpo-23661</a>: unittest.mock side_effects can now be exceptions again. This
was a regression vs Python 3.4. Patch from Ignacio Rossi</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24608">bpo-24608</a>: chunk.Chunk.read() now always returns bytes, not str.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18684">bpo-18684</a>: Fixed reading out of the buffer in the re module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24259">bpo-24259</a>: tarfile now raises a ReadError if an archive is truncated
inside a data segment.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15014">bpo-15014</a>: SMTP.auth() and SMTP.login() now support RFC 4954’s optional
initial-response argument to the SMTP AUTH command.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24669">bpo-24669</a>: Fix inspect.getsource() for ‘async def’ functions. Patch by Kai
Groner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24688">bpo-24688</a>: ast.get_docstring() for ‘async def’ functions.</p></li>
</ul>
</div>
<div class="section" id="id238">
<h3>Build<a class="headerlink" href="#id238" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24603">bpo-24603</a>: Update Windows builds and OS X 10.5 installer to use OpenSSL
1.0.2d.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-beta-3">
<h2>Python 3.5.0 beta 3<a class="headerlink" href="#python-3-5-0-beta-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-07-05</em></p>
<div class="section" id="id239">
<h3>Core and Builtins<a class="headerlink" href="#id239" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24467">bpo-24467</a>: Fixed possible buffer over-read in bytearray. The bytearray
object now always allocates place for trailing null byte and it’s buffer
now is always null-terminated.</p></li>
<li><p>Upgrade to Unicode 8.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24345">bpo-24345</a>: Add Py_tp_finalize slot for the stable ABI.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24400">bpo-24400</a>: Introduce a distinct type for PEP 492 coroutines; add
types.CoroutineType, inspect.getcoroutinestate,
inspect.getcoroutinelocals; coroutines no longer use CO_GENERATOR flag;
sys.set_coroutine_wrapper works only for ‘async def’ coroutines;
inspect.iscoroutine no longer uses collections.abc.Coroutine, it’s
intended to test for pure ‘async def’ coroutines only; add new opcode:
GET_YIELD_FROM_ITER; fix generators wrapper used in types.coroutine to be
instance of collections.abc.Generator; collections.abc.Awaitable and
collections.abc.Coroutine can no longer be used to detect generator-based
coroutines–use inspect.isawaitable instead.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24450">bpo-24450</a>: Add gi_yieldfrom to generators and cr_await to coroutines.
Contributed by Benno Leslie and Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19235">bpo-19235</a>: Add new RecursionError exception. Patch by Georg Brandl.</p></li>
</ul>
</div>
<div class="section" id="id240">
<h3>Library<a class="headerlink" href="#id240" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21750">bpo-21750</a>: mock_open.read_data can now be read from each instance, as it
could in Python 3.3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24552">bpo-24552</a>: Fix use after free in an error case of the _pickle module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24514">bpo-24514</a>: tarfile now tolerates number fields consisting of only
whitespace.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19176">bpo-19176</a>: Fixed doctype() related bugs in C implementation of
ElementTree. A deprecation warning no longer issued by XMLParser subclass
with default doctype() method.  Direct call of doctype() now issues a
warning.  Parser’s doctype() now is not called if target’s doctype() is
called.  Based on patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20387">bpo-20387</a>: Restore semantic round-trip correctness in tokenize/untokenize
for tab-indented blocks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24456">bpo-24456</a>: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
functions of the audioop module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24336">bpo-24336</a>: The contextmanager decorator now works with functions with
keyword arguments called “func” and “self”.  Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24522">bpo-24522</a>: Fix possible integer overflow in json accelerator module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24489">bpo-24489</a>: ensure a previously set C errno doesn’t disturb cmath.polar().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24408">bpo-24408</a>: Fixed AttributeError in measure() and metrics() methods of
tkinter.Font.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14373">bpo-14373</a>: C implementation of functools.lru_cache() now can be used with
methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24347">bpo-24347</a>: Set KeyError if PyDict_GetItemWithError returns NULL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24348">bpo-24348</a>: Drop superfluous incref/decref.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24359">bpo-24359</a>: Check for changed OrderedDict size during iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24368">bpo-24368</a>: Support keyword arguments in OrderedDict methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24362">bpo-24362</a>: Simplify the C OrderedDict fast nodes resize logic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24377">bpo-24377</a>: Fix a ref leak in OrderedDict.__repr__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24369">bpo-24369</a>: Defend against key-changes during iteration.</p></li>
</ul>
</div>
<div class="section" id="id241">
<h3>Tests<a class="headerlink" href="#id241" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24373">bpo-24373</a>: _testmultiphase and xxlimited now use tp_traverse and
tp_finalize to avoid reference leaks encountered when combining tp_dealloc
with PyType_FromSpec (see <a class="reference external" href="https://bugs.python.org/issue16690">bpo-16690</a> for details)</p></li>
</ul>
</div>
<div class="section" id="id242">
<h3>Documentation<a class="headerlink" href="#id242" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24458">bpo-24458</a>: Update documentation to cover multi-phase initialization for
extension modules (PEP 489). Patch by Petr Viktorin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24351">bpo-24351</a>: Clarify what is meant by “identifier” in the context of
string.Template instances.</p></li>
</ul>
</div>
<div class="section" id="id243">
<h3>Build<a class="headerlink" href="#id243" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24432">bpo-24432</a>: Update Windows builds and OS X 10.5 installer to use OpenSSL
1.0.2c.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-beta-2">
<h2>Python 3.5.0 beta 2<a class="headerlink" href="#python-3-5-0-beta-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-05-31</em></p>
<div class="section" id="id244">
<h3>Core and Builtins<a class="headerlink" href="#id244" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24284">bpo-24284</a>: The startswith and endswith methods of the str class no longer
return True when finding the empty string and the indexes are completely
out of range.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24115">bpo-24115</a>: Update uses of PyObject_IsTrue(), PyObject_Not(),
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24328">bpo-24328</a>: Fix importing one character extension modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11205">bpo-11205</a>: In dictionary displays, evaluate the key before the value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24285">bpo-24285</a>: Fixed regression that prevented importing extension modules
from inside packages. Patch by Petr Viktorin.</p></li>
</ul>
</div>
<div class="section" id="id245">
<h3>Library<a class="headerlink" href="#id245" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23247">bpo-23247</a>: Fix a crash in the StreamWriter.reset() of CJK codecs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24270">bpo-24270</a>: Add math.isclose() and cmath.isclose() functions as per PEP
485. Contributed by Chris Barker and Tal Einat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5633">bpo-5633</a>: Fixed timeit when the statement is a string and the setup is
not.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24326">bpo-24326</a>: Fixed audioop.ratecv() with non-default weightB argument.
Original patch by David Moore.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16991">bpo-16991</a>: Add a C implementation of OrderedDict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23934">bpo-23934</a>: Fix inspect.signature to fail correctly for builtin types
lacking signature information.  Initial patch by James Powell.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-beta-1">
<h2>Python 3.5.0 beta 1<a class="headerlink" href="#python-3-5-0-beta-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-05-24</em></p>
<div class="section" id="id246">
<h3>Core and Builtins<a class="headerlink" href="#id246" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24276">bpo-24276</a>: Fixed optimization of property descriptor getter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24268">bpo-24268</a>: PEP 489: Multi-phase extension module initialization. Patch by
Petr Viktorin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23955">bpo-23955</a>: Add pyvenv.cfg option to suppress registry/environment lookup
for generating sys.path on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24257">bpo-24257</a>: Fixed system error in the comparison of faked
types.SimpleNamespace.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22939">bpo-22939</a>: Fixed integer overflow in iterator object.  Patch by Clement
Rouault.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23985">bpo-23985</a>: Fix a possible buffer overrun when deleting a slice from the
front of a bytearray and then appending some other bytes data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24102">bpo-24102</a>: Fixed exception type checking in standard error handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15027">bpo-15027</a>: The UTF-32 encoder is now 3x to 7x faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23290">bpo-23290</a>: Optimize set_merge() for cases where the target is empty.
(Contributed by Serhiy Storchaka.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2292">bpo-2292</a>: PEP 448: Additional Unpacking Generalizations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24096">bpo-24096</a>: Make warnings.warn_explicit more robust against mutation of the
warnings.filters list.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23996">bpo-23996</a>: Avoid a crash when a delegated generator raises an unnormalized
StopIteration exception.  Patch by Stefan Behnel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23910">bpo-23910</a>: Optimize property() getter calls.  Patch by Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23911">bpo-23911</a>: Move path-based importlib bootstrap code to a separate frozen
module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24192">bpo-24192</a>: Fix namespace package imports.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24022">bpo-24022</a>: Fix tokenizer crash when processing undecodable source code.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9951">bpo-9951</a>: Added a hex() method to bytes, bytearray, and memoryview.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22906">bpo-22906</a>: PEP 479: Change StopIteration handling inside generators.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24017">bpo-24017</a>: PEP 492: Coroutines with async and await syntax.</p></li>
</ul>
</div>
<div class="section" id="id247">
<h3>Library<a class="headerlink" href="#id247" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue14373">bpo-14373</a>: Added C implementation of functools.lru_cache().  Based on
patches by Matt Joiner and Alexey Kachayev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24230">bpo-24230</a>: The tempfile module now accepts bytes for prefix, suffix and
dir parameters and returns bytes in such situations (matching the os
module APIs).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22189">bpo-22189</a>: collections.UserString now supports __getnewargs__(),
__rmod__(), casefold(), format_map(), isprintable(), and maketrans().
Patch by Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24244">bpo-24244</a>: Prevents termination when an invalid format string is
encountered on Windows in strftime.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23973">bpo-23973</a>: PEP 484: Add the typing module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23086">bpo-23086</a>: The collections.abc.Sequence() abstract base class added
<em>start</em> and <em>stop</em> parameters to the index() mixin. Patch by Devin
Jeanpierre.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20035">bpo-20035</a>: Replaced the <code class="docutils literal notranslate"><span class="pre">tkinter._fix</span></code> module used for setting up the
Tcl/Tk environment on Windows with a private function in the <code class="docutils literal notranslate"><span class="pre">_tkinter</span></code>
module that makes no permanent changes to the environment.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24257">bpo-24257</a>: Fixed segmentation fault in sqlite3.Row constructor with faked
cursor type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15836">bpo-15836</a>: assertRaises(), assertRaisesRegex(), assertWarns() and
assertWarnsRegex() assertments now check the type of the first argument to
prevent possible user error.  Based on patch by Daniel Wagner-Hall.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9858">bpo-9858</a>: Add missing method stubs to _io.RawIOBase.  Patch by Laura
Rupprecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22955">bpo-22955</a>: attrgetter, itemgetter and methodcaller objects in the operator
module now support pickling.  Added readable and evaluable repr for these
objects. Based on patch by Josh Rosenberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22107">bpo-22107</a>: tempfile.gettempdir() and tempfile.mkdtemp() now try again when
a directory with the chosen name already exists on Windows as well as on
Unix. tempfile.mkstemp() now fails early if parent directory is not valid
(not exists or is a file) on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23780">bpo-23780</a>: Improved error message in os.path.join() with single argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6598">bpo-6598</a>: Increased time precision and random number range in
email.utils.make_msgid() to strengthen the uniqueness of the message ID.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24091">bpo-24091</a>: Fixed various crashes in corner cases in C implementation of
ElementTree.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21931">bpo-21931</a>: msilib.FCICreate() now raises TypeError in the case of a bad
argument instead of a ValueError with a bogus FCI error number. Patch by
Jeffrey Armstrong.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13866">bpo-13866</a>: <em>quote_via</em> argument added to urllib.parse.urlencode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20098">bpo-20098</a>: New mangle_from policy option for email, default True for
compat32, but False for all other policies.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24211">bpo-24211</a>: The email library now supports RFC 6532: it can generate
headers using utf-8 instead of encoded words.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16314">bpo-16314</a>: Added support for the LZMA compression in distutils.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21804">bpo-21804</a>: poplib now supports RFC 6856 (UTF8).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18682">bpo-18682</a>: Optimized pprint functions for builtin scalar types.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22027">bpo-22027</a>: smtplib now supports RFC 6531 (SMTPUTF8).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23488">bpo-23488</a>: Random generator objects now consume 2x less memory on 64-bit.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1322">bpo-1322</a>: platform.dist() and platform.linux_distribution() functions are
now deprecated.  Initial patch by Vajrasky Kok.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22486">bpo-22486</a>: Added the math.gcd() function.  The fractions.gcd() function
now is deprecated.  Based on patch by Mark Dickinson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24064">bpo-24064</a>: Property() docstrings are now writeable. (Patch by Berker
Peksag.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22681">bpo-22681</a>: Added support for the koi8_t encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22682">bpo-22682</a>: Added support for the kz1048 encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23796">bpo-23796</a>: peek and read1 methods of BufferedReader now raise ValueError
if they called on a closed object. Patch by John Hergenroeder.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21795">bpo-21795</a>: smtpd now supports the 8BITMIME extension whenever the new
<em>decode_data</em> constructor argument is set to False.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24155">bpo-24155</a>: optimize heapq.heapify() for better cache performance when
heapifying large lists.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21800">bpo-21800</a>: imaplib now supports RFC 5161 (enable), RFC 6855
(utf8/internationalized email) and automatically encodes non-ASCII
usernames and passwords to UTF8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20274">bpo-20274</a>: When calling a _sqlite.Connection, it now complains if passed
any keyword arguments.  Previously it silently ignored them.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20274">bpo-20274</a>: Remove ignored and erroneous “kwargs” parameters from three
METH_VARARGS methods on _sqlite.Connection.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24134">bpo-24134</a>: assertRaises(), assertRaisesRegex(), assertWarns() and
assertWarnsRegex() checks now emits a deprecation warning when callable is
None or keyword arguments except msg is passed in the context manager
mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24018">bpo-24018</a>: Add a collections.abc.Generator abstract base class.
Contributed by Stefan Behnel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23880">bpo-23880</a>: Tkinter’s getint() and getdouble() now support Tcl_Obj.
Tkinter’s getdouble() now supports any numbers (in particular int).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22619">bpo-22619</a>: Added negative limit support in the traceback module. Based on
patch by Dmitry Kazakov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24094">bpo-24094</a>: Fix possible crash in json.encode with poorly behaved dict
subclasses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9246">bpo-9246</a>: On POSIX, os.getcwd() now supports paths longer than 1025 bytes.
Patch written by William Orr.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17445">bpo-17445</a>: add difflib.diff_bytes() to support comparison of byte strings
(fixes a regression from Python 2).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23917">bpo-23917</a>: Fall back to sequential compilation when ProcessPoolExecutor
doesn’t exist. Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23008">bpo-23008</a>: Fixed resolving attributes with boolean value is False in
pydoc.</p></li>
<li><p>Fix asyncio issue 235: LifoQueue and PriorityQueue’s put didn’t increment
unfinished tasks (this bug was introduced when JoinableQueue was merged
with Queue).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23908">bpo-23908</a>: os functions now reject paths with embedded null character on
Windows instead of silently truncating them.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23728">bpo-23728</a>: binascii.crc_hqx() could return an integer outside of the range
0-0xffff for empty data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23887">bpo-23887</a>: urllib.error.HTTPError now has a proper repr() representation.
Patch by Berker Peksag.</p></li>
<li><p>asyncio: New event loop APIs: set_task_factory() and get_task_factory().</p></li>
<li><p>asyncio: async() function is deprecated in favour of ensure_future().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24178">bpo-24178</a>: asyncio.Lock, Condition, Semaphore, and BoundedSemaphore
support new ‘async with’ syntax.  Contributed by Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24179">bpo-24179</a>: Support ‘async for’ for asyncio.StreamReader. Contributed by
Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24184">bpo-24184</a>: Add AsyncIterator and AsyncIterable ABCs to collections.abc.
Contributed by Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22547">bpo-22547</a>: Implement informative __repr__ for inspect.BoundArguments.
Contributed by Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24190">bpo-24190</a>: Implement inspect.BoundArgument.apply_defaults() method.
Contributed by Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20691">bpo-20691</a>: Add ‘follow_wrapped’ argument to
inspect.Signature.from_callable() and inspect.signature(). Contributed by
Yury Selivanov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24248">bpo-24248</a>: Deprecate inspect.Signature.from_function() and
inspect.Signature.from_builtin().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23898">bpo-23898</a>: Fix inspect.classify_class_attrs() to support attributes with
overloaded __eq__ and __bool__.  Patch by Mike Bayer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24298">bpo-24298</a>: Fix inspect.signature() to correctly unwrap wrappers around
bound methods.</p></li>
</ul>
</div>
<div class="section" id="id248">
<h3>IDLE<a class="headerlink" href="#id248" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23184">bpo-23184</a>: remove unused names and imports in idlelib. Initial patch by Al
Sweigart.</p></li>
</ul>
</div>
<div class="section" id="id249">
<h3>Tests<a class="headerlink" href="#id249" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue21520">bpo-21520</a>: test_zipfile no longer fails if the word ‘bad’ appears anywhere
in the name of the current directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9517">bpo-9517</a>: Move script_helper into the support package. Patch by Christie
Wilson.</p></li>
</ul>
</div>
<div class="section" id="id250">
<h3>Documentation<a class="headerlink" href="#id250" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22155">bpo-22155</a>: Add File Handlers subsection with createfilehandler to tkinter
doc.  Remove obsolete example from FAQ.  Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24029">bpo-24029</a>: Document the name binding behavior for submodule imports.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24077">bpo-24077</a>: Fix typo in man page for -I command option: -s, not -S</p></li>
</ul>
</div>
<div class="section" id="id251">
<h3>Tools/Demos<a class="headerlink" href="#id251" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue24000">bpo-24000</a>: Improved Argument Clinic’s mapping of converters to legacy
“format units”. Updated the documentation to match.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24001">bpo-24001</a>: Argument Clinic converters now use accept={type} instead of
types={‘type’} to specify the types the converter accepts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23330">bpo-23330</a>: h2py now supports arbitrary filenames in #include.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24031">bpo-24031</a>: make patchcheck now supports git checkouts, too.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-alpha-4">
<h2>Python 3.5.0 alpha 4<a class="headerlink" href="#python-3-5-0-alpha-4" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-04-19</em></p>
<div class="section" id="id252">
<h3>Core and Builtins<a class="headerlink" href="#id252" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22980">bpo-22980</a>: Under Linux, GNU/KFreeBSD and the Hurd, C extensions now
include the architecture triplet in the extension name, to make it easy to
test builds for different ABIs in the same working tree.  Under OS X, the
extension name now includes PEP 3149-style information.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22631">bpo-22631</a>: Added Linux-specific socket constant CAN_RAW_FD_FRAMES. Patch
courtesy of Joe Jevnik.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23731">bpo-23731</a>: Implement PEP 488: removal of .pyo files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23726">bpo-23726</a>: Don’t enable GC for user subclasses of non-GC types that don’t
add any new fields.  Patch by Eugene Toder.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23309">bpo-23309</a>: Avoid a deadlock at shutdown if a daemon thread is aborted
while it is holding a lock to a buffered I/O object, and the main thread
tries to use the same I/O object (typically stdout or stderr).  A fatal
error is emitted instead.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22977">bpo-22977</a>: Fixed formatting Windows error messages on Wine. Patch by
Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23466">bpo-23466</a>: %c, %o, %x, and %X in bytes formatting now raise TypeError on
non-integer input.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24044">bpo-24044</a>: Fix possible null pointer dereference in list.sort in out of
memory conditions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21354">bpo-21354</a>: PyCFunction_New function is exposed by python DLL again.</p></li>
</ul>
</div>
<div class="section" id="id253">
<h3>Library<a class="headerlink" href="#id253" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23840">bpo-23840</a>: tokenize.open() now closes the temporary binary file on error
to fix a resource warning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16914">bpo-16914</a>: new debuglevel 2 in smtplib adds timestamps to debug output.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7159">bpo-7159</a>: urllib.request now supports sending auth credentials
automatically after the first 401.  This enhancement is a superset of the
enhancement from <a class="reference external" href="https://bugs.python.org/issue19494">bpo-19494</a> and supersedes that change.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23703">bpo-23703</a>: Fix a regression in urljoin() introduced in 901e4e52b20a. Patch
by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4254">bpo-4254</a>: Adds _curses.update_lines_cols().  Patch by Arnon Yaari</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19933">bpo-19933</a>: Provide default argument for ndigits in round. Patch by
Vajrasky Kok.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23193">bpo-23193</a>: Add a numeric_owner parameter to tarfile.TarFile.extract and
tarfile.TarFile.extractall. Patch by Michael Vogt and Eric Smith.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23342">bpo-23342</a>: Add a subprocess.run() function than returns a CalledProcess
instance for a more consistent API than the existing call* functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21217">bpo-21217</a>: inspect.getsourcelines() now tries to compute the start and end
lines from the code object, fixing an issue when a lambda function is used
as decorator argument. Patch by Thomas Ballinger and Allison Kaptur.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue24521">bpo-24521</a>: Fix possible integer overflows in the pickle module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22931">bpo-22931</a>: Allow ‘[‘ and ‘]’ in cookie values.</p></li>
<li><p>The keywords attribute of functools.partial is now always a dictionary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23811">bpo-23811</a>: Add missing newline to the PyCompileError error message. Patch
by Alex Shkop.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21116">bpo-21116</a>: Avoid blowing memory when allocating a multiprocessing shared
array that’s larger than 50% of the available RAM.  Patch by Médéric
Boquien.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22982">bpo-22982</a>: Improve BOM handling when seeking to multiple positions of a
writable text file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23464">bpo-23464</a>: Removed deprecated asyncio JoinableQueue.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23529">bpo-23529</a>: Limit the size of decompressed data when reading from GzipFile,
BZ2File or LZMAFile.  This defeats denial of service attacks using
compressed bombs (i.e. compressed payloads which decompress to a huge
size).  Patch by Martin Panter and Nikolaus Rath.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21859">bpo-21859</a>: Added Python implementation of io.FileIO.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23865">bpo-23865</a>: close() methods in multiple modules now are idempotent and more
robust at shutdown. If they need to release multiple resources, all are
released even if errors occur.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23400">bpo-23400</a>: Raise same exception on both Python 2 and 3 if sem_open is not
available. Patch by Davin Potts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10838">bpo-10838</a>: The subprocess now module includes SubprocessError and
TimeoutError in its list of exported names for the users wild enough to
use <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">subprocess</span> <span class="pre">import</span> <span class="pre">*</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23411">bpo-23411</a>: Added DefragResult, ParseResult, SplitResult,
DefragResultBytes, ParseResultBytes, and SplitResultBytes to
urllib.parse.__all__. Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23881">bpo-23881</a>: urllib.request.ftpwrapper constructor now closes the socket if
the FTP connection failed to fix a ResourceWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23853">bpo-23853</a>: <a class="reference internal" href="../library/socket.html#socket.socket.sendall" title="socket.socket.sendall"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socket.socket.sendall()</span></code></a> does no more reset the socket
timeout each time data is sent successfully. The socket timeout is now the
maximum total duration to send all data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22721">bpo-22721</a>: An order of multiline pprint output of set or dict containing
orderable and non-orderable elements no longer depends on iteration order
of set or dict.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15133">bpo-15133</a>: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always
returns bool. tkinter.BooleanVar now validates input values (accepted
bool, int, str, and Tcl_Obj).  tkinter.BooleanVar.get() now always returns
bool.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10590">bpo-10590</a>: xml.sax.parseString() now supports string argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23338">bpo-23338</a>: Fixed formatting ctypes error messages on Cygwin. Patch by
Makoto Kato.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15582">bpo-15582</a>: inspect.getdoc() now follows inheritance chains.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2175">bpo-2175</a>: SAX parsers now support a character stream of InputSource
object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16840">bpo-16840</a>: Tkinter now supports 64-bit integers added in Tcl 8.4 and
arbitrary precision integers added in Tcl 8.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23834">bpo-23834</a>: Fix socket.sendto(), use the C Py_ssize_t type to store the
result of sendto() instead of the C int type.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23618">bpo-23618</a>: <a class="reference internal" href="../library/socket.html#socket.socket.connect" title="socket.socket.connect"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socket.socket.connect()</span></code></a> now waits until the connection
completes instead of raising <a class="reference internal" href="../library/exceptions.html#InterruptedError" title="InterruptedError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InterruptedError</span></code></a> if the connection is
interrupted by signals, signal handlers don’t raise an exception and the
socket is blocking or has a timeout. <a class="reference internal" href="../library/socket.html#socket.socket.connect" title="socket.socket.connect"><code class="xref py py-meth docutils literal notranslate"><span class="pre">socket.socket.connect()</span></code></a> still
raise <a class="reference internal" href="../library/exceptions.html#InterruptedError" title="InterruptedError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InterruptedError</span></code></a> for non-blocking sockets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21526">bpo-21526</a>: Tkinter now supports new boolean type in Tcl 8.5.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23836">bpo-23836</a>: Fix the faulthandler module to handle reentrant calls to its
signal handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23838">bpo-23838</a>: linecache now clears the cache and returns an empty result on
MemoryError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10395">bpo-10395</a>: Added os.path.commonpath(). Implemented in posixpath and
ntpath. Based on patch by Rafik Draoui.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23611">bpo-23611</a>: Serializing more “lookupable” objects (such as unbound methods
or nested classes) now are supported with pickle protocols &lt; 4.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13583">bpo-13583</a>: sqlite3.Row now supports slice indexing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18473">bpo-18473</a>: Fixed 2to3 and 3to2 compatible pickle mappings.  Fixed
ambiguous reverse mappings.  Added many new mappings.  Import mapping is
no longer applied to modules already mapped with full name mapping.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23485">bpo-23485</a>: select.select() is now retried automatically with the
recomputed timeout when interrupted by a signal, except if the signal
handler raises an exception. This change is part of the PEP 475.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23752">bpo-23752</a>: When built from an existing file descriptor, io.FileIO() now
only calls fstat() once. Before fstat() was called twice, which was not
necessary.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23704">bpo-23704</a>: collections.deque() objects now support __add__, __mul__, and
__imul__().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23171">bpo-23171</a>: csv.Writer.writerow() now supports arbitrary iterables.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23745">bpo-23745</a>: The new email header parser now handles duplicate MIME
parameter names without error, similar to how get_param behaves.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22117">bpo-22117</a>: Fix os.utime(), it now rounds the timestamp towards minus
infinity (-inf) instead of rounding towards zero.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23310">bpo-23310</a>: Fix MagicMock’s initializer to work with __methods__, just like
configure_mock().  Patch by Kasia Jachim.</p></li>
</ul>
</div>
<div class="section" id="id254">
<h3>Build<a class="headerlink" href="#id254" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23817">bpo-23817</a>: FreeBSD now uses “1.0” in the SOVERSION as other operating
systems, instead of just “1”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23501">bpo-23501</a>: Argument Clinic now generates code into separate files by
default.</p></li>
</ul>
</div>
<div class="section" id="id255">
<h3>Tests<a class="headerlink" href="#id255" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23799">bpo-23799</a>: Added test.support.start_threads() for running and cleaning up
multiple threads.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22390">bpo-22390</a>: test.regrtest now emits a warning if temporary files or
directories are left after running a test.</p></li>
</ul>
</div>
<div class="section" id="id256">
<h3>Tools/Demos<a class="headerlink" href="#id256" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue18128">bpo-18128</a>: pygettext now uses standard +NNNN format in the
POT-Creation-Date header.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23935">bpo-23935</a>: Argument Clinic’s understanding of format units accepting
bytes, bytearrays, and buffers is now consistent with both the
documentation and the implementation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23944">bpo-23944</a>: Argument Clinic now wraps long impl prototypes at column 78.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20586">bpo-20586</a>: Argument Clinic now ensures that functions without docstrings
have signatures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23492">bpo-23492</a>: Argument Clinic now generates argument parsing code with
PyArg_Parse instead of PyArg_ParseTuple if possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23500">bpo-23500</a>: Argument Clinic is now smarter about generating the “#ifndef”
(empty) definition of the methoddef macro: it’s only generated once, even
if Argument Clinic processes the same symbol multiple times, and it’s
emitted at the end of all processing rather than immediately after the
first use.</p></li>
</ul>
</div>
<div class="section" id="id257">
<h3>C API<a class="headerlink" href="#id257" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23998">bpo-23998</a>: PyImport_ReInitLock() now checks for lock allocation error</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-alpha-3">
<h2>Python 3.5.0 alpha 3<a class="headerlink" href="#python-3-5-0-alpha-3" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-03-28</em></p>
<div class="section" id="id258">
<h3>Core and Builtins<a class="headerlink" href="#id258" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23573">bpo-23573</a>: Increased performance of string search operations (str.find,
str.index, str.count, the in operator, str.split, str.partition) with
arguments of different kinds (UCS1, UCS2, UCS4).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23753">bpo-23753</a>: Python doesn’t support anymore platforms without stat() or
fstat(), these functions are always required.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23681">bpo-23681</a>: The -b option now affects comparisons of bytes with int.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23632">bpo-23632</a>: Memoryviews now allow tuple indexing (including for
multi-dimensional memoryviews).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23192">bpo-23192</a>: Fixed generator lambdas.  Patch by Bruno Cauet.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23629">bpo-23629</a>: Fix the default __sizeof__ implementation for variable-sized
objects.</p></li>
</ul>
</div>
<div class="section" id="id259">
<h3>Library<a class="headerlink" href="#id259" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue14260">bpo-14260</a>: The groupindex attribute of regular expression pattern object
now is non-modifiable mapping.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23792">bpo-23792</a>: Ignore KeyboardInterrupt when the pydoc pager is active. This
mimics the behavior of the standard unix pagers, and prevents pipepager
from shutting down while the pager itself is still running.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23775">bpo-23775</a>: pprint() of OrderedDict now outputs the same representation as
repr().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23765">bpo-23765</a>: Removed IsBadStringPtr calls in ctypes</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22364">bpo-22364</a>: Improved some re error messages using regex for hints.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23742">bpo-23742</a>: ntpath.expandvars() no longer loses unbalanced single quotes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21717">bpo-21717</a>: The zipfile.ZipFile.open function now supports ‘x’ (exclusive
creation) mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21802">bpo-21802</a>: The reader in BufferedRWPair now is closed even when closing
writer failed in BufferedRWPair.close().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23622">bpo-23622</a>: Unknown escapes in regular expressions that consist of <code class="docutils literal notranslate"><span class="pre">'\'</span></code>
and ASCII letter now raise a deprecation warning and will be forbidden in
Python 3.6.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23671">bpo-23671</a>: string.Template now allows specifying the “self” parameter as a
keyword argument.  string.Formatter now allows specifying the “self” and
the “format_string” parameters as keyword arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23502">bpo-23502</a>: The pprint module now supports mapping proxies.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17530">bpo-17530</a>: pprint now wraps long bytes objects and bytearrays.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22687">bpo-22687</a>: Fixed some corner cases in breaking words in tetxtwrap. Got rid
of quadratic complexity in breaking long words.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4727">bpo-4727</a>: The copy module now uses pickle protocol 4 (PEP 3154) and
supports copying of instances of classes whose __new__ method takes
keyword-only arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23491">bpo-23491</a>: Added a zipapp module to support creating executable zip file
archives of Python code. Registered “.pyz” and “.pyzw” extensions on
Windows for these archives (PEP 441).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23657">bpo-23657</a>: Avoid explicit checks for str in zipapp, adding support for
pathlib.Path objects as arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23688">bpo-23688</a>: Added support of arbitrary bytes-like objects and avoided
unnecessary copying of memoryview in gzip.GzipFile.write(). Original patch
by Wolfgang Maier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23252">bpo-23252</a>: Added support for writing ZIP files to unseekable streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23647">bpo-23647</a>: Increase imaplib’s MAXLINE to accommodate modern mailbox sizes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23539">bpo-23539</a>: If body is None, http.client.HTTPConnection.request now sets
Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors
from some web servers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22351">bpo-22351</a>: The nntplib.NNTP constructor no longer leaves the connection
and socket open until the garbage collector cleans them up.  Patch by
Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23704">bpo-23704</a>: collections.deque() objects now support methods for index(),
insert(), and copy().  This allows deques to be registered as a
MutableSequence and it improves their substitutability for lists.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23715">bpo-23715</a>: <a class="reference internal" href="../library/signal.html#signal.sigwaitinfo" title="signal.sigwaitinfo"><code class="xref py py-func docutils literal notranslate"><span class="pre">signal.sigwaitinfo()</span></code></a> and <a class="reference internal" href="../library/signal.html#signal.sigtimedwait" title="signal.sigtimedwait"><code class="xref py py-func docutils literal notranslate"><span class="pre">signal.sigtimedwait()</span></code></a> are
now retried when interrupted by a signal not in the <em>sigset</em> parameter, if
the signal handler does not raise an exception. signal.sigtimedwait()
recomputes the timeout with a monotonic clock when it is retried.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23001">bpo-23001</a>: Few functions in modules mmap, ossaudiodev, socket, ssl, and
codecs, that accepted only read-only bytes-like object now accept writable
bytes-like object too.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23646">bpo-23646</a>: If time.sleep() is interrupted by a signal, the sleep is now
retried with the recomputed delay, except if the signal handler raises an
exception (PEP 475).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23136">bpo-23136</a>: _strptime now uniformly handles all days in week 0, including
Dec 30 of previous year.  Based on patch by Jim Carroll.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23700">bpo-23700</a>: Iterator of NamedTemporaryFile now keeps a reference to
NamedTemporaryFile instance.  Patch by Bohuslav Kabrda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22903">bpo-22903</a>: The fake test case created by unittest.loader when it fails
importing a test module is now picklable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22181">bpo-22181</a>: On Linux, os.urandom() now uses the new getrandom() syscall if
available, syscall introduced in the Linux kernel 3.17. It is more
reliable and more secure, because it avoids the need of a file descriptor
and waits until the kernel has enough entropy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2211">bpo-2211</a>: Updated the implementation of the http.cookies.Morsel class.
Setting attributes key, value and coded_value directly now is deprecated.
update() and setdefault() now transform and check keys.  Comparing for
equality now takes into account attributes key, value and coded_value.
copy() now returns a Morsel, not a dict.  repr() now contains all
attributes. Optimized checking keys and quoting values.  Added new tests.
Original patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18983">bpo-18983</a>: Allow selection of output units in timeit. Patch by Julian
Gindi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23631">bpo-23631</a>: Fix traceback.format_list when a traceback has been mutated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23568">bpo-23568</a>: Add rdivmod support to MagicMock() objects. Patch by Håkan
Lövdahl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2052">bpo-2052</a>: Add charset parameter to HtmlDiff.make_file().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23668">bpo-23668</a>: Support os.truncate and os.ftruncate on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23138">bpo-23138</a>: Fixed parsing cookies with absent keys or values in cookiejar.
Patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23051">bpo-23051</a>: multiprocessing.Pool methods imap() and imap_unordered() now
handle exceptions raised by an iterator.  Patch by Alon Diamant and Davin
Potts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23581">bpo-23581</a>: Add matmul support to MagicMock. Patch by Håkan Lövdahl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23566">bpo-23566</a>: enable(), register(), dump_traceback() and
dump_traceback_later() functions of faulthandler now accept file
descriptors. Patch by Wei Wu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22928">bpo-22928</a>: Disabled HTTP header injections in http.client. Original patch
by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23615">bpo-23615</a>: Modules bz2, tarfile and tokenize now can be reloaded with
imp.reload(). Patch by Thomas Kluyver.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23605">bpo-23605</a>: os.walk() now calls os.scandir() instead of os.listdir(). The
usage of os.scandir() reduces the number of calls to os.stat(). Initial
patch written by Ben Hoyt.</p></li>
</ul>
</div>
<div class="section" id="id260">
<h3>Build<a class="headerlink" href="#id260" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23585">bpo-23585</a>: make patchcheck will ensure the interpreter is built.</p></li>
</ul>
</div>
<div class="section" id="id261">
<h3>Tests<a class="headerlink" href="#id261" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23583">bpo-23583</a>: Added tests for standard IO streams in IDLE.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22289">bpo-22289</a>: Prevent test_urllib2net failures due to ftp connection timeout.</p></li>
</ul>
</div>
<div class="section" id="id262">
<h3>Tools/Demos<a class="headerlink" href="#id262" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22826">bpo-22826</a>: The result of open() in Tools/freeze/bkfile.py is now better
compatible with regular files (in particular it now supports the context
management protocol).</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-alpha-2">
<h2>Python 3.5.0 alpha 2<a class="headerlink" href="#python-3-5-0-alpha-2" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-03-09</em></p>
<div class="section" id="id263">
<h3>Core and Builtins<a class="headerlink" href="#id263" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23571">bpo-23571</a>: PyObject_Call() and PyCFunction_Call() now raise a SystemError
if a function returns a result and raises an exception. The SystemError is
chained to the previous exception.</p></li>
</ul>
</div>
<div class="section" id="id264">
<h3>Library<a class="headerlink" href="#id264" title="Permalink to this headline">¶</a></h3>
<ul>
<li><p><a class="reference external" href="https://bugs.python.org/issue22524">bpo-22524</a>: New os.scandir() function, part of the PEP 471: “os.scandir()
function – a better and faster directory iterator”. Patch written by Ben
Hoyt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23103">bpo-23103</a>: Reduced the memory consumption of IPv4Address and IPv6Address.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21793">bpo-21793</a>: BaseHTTPRequestHandler again logs response code as numeric, not
as stringified enum.  Patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23476">bpo-23476</a>: In the ssl module, enable OpenSSL’s X509_V_FLAG_TRUSTED_FIRST
flag on certificate stores when it is available.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23576">bpo-23576</a>: Avoid stalling in SSL reads when EOF has been reached in the
SSL layer but the underlying connection hasn’t been closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23504">bpo-23504</a>: Added an __all__ to the types module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23563">bpo-23563</a>: Optimized utility functions in urllib.parse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7830">bpo-7830</a>: Flatten nested functools.partial.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20204">bpo-20204</a>: Added the __module__ attribute to _tkinter classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19980">bpo-19980</a>: Improved help() for non-recognized strings.  help(‘’) now shows
the help on str.  help(‘help’) now shows the help on help(). Original
patch by Mark Lawrence.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23521">bpo-23521</a>: Corrected pure python implementation of timedelta division.</p>
<p>Eliminated OverflowError from <code class="docutils literal notranslate"><span class="pre">timedelta</span> <span class="pre">*</span> <span class="pre">float</span></code> for some floats;
Corrected rounding in timedelta true division.</p>
</li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21619">bpo-21619</a>: Popen objects no longer leave a zombie after exit in the with
statement if the pipe was broken.  Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22936">bpo-22936</a>: Make it possible to show local variables in tracebacks for both
the traceback module and unittest.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15955">bpo-15955</a>: Add an option to limit the output size in bz2.decompress().
Patch by Nikolaus Rath.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6639">bpo-6639</a>: Module-level turtle functions no longer raise TclError after
closing the window.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue814253">bpo-814253</a>: Group references and conditional group references now work in
lookbehind assertions in regular expressions. (See also: <a class="reference external" href="https://bugs.python.org/issue9179">bpo-9179</a>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23215">bpo-23215</a>: Multibyte codecs with custom error handlers that ignores errors
consumed too much memory and raised SystemError or MemoryError. Original
patch by Aleksi Torhamo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5700">bpo-5700</a>: io.FileIO() called flush() after closing the file. flush() was
not called in close() if closefd=False.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23374">bpo-23374</a>: Fixed pydoc failure with non-ASCII files when stdout encoding
differs from file system encoding (e.g. on Mac OS).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23481">bpo-23481</a>: Remove RC4 from the SSL module’s default cipher list.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21548">bpo-21548</a>: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty
docstrings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22885">bpo-22885</a>: Fixed arbitrary code execution vulnerability in the dbm.dumb
module. Original patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23239">bpo-23239</a>: ssl.match_hostname() now supports matching of IP addresses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23146">bpo-23146</a>: Fix mishandling of absolute Windows paths with forward slashes
in pathlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23096">bpo-23096</a>: Pickle representation of floats with protocol 0 now is the same
for both Python and C implementations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19105">bpo-19105</a>: pprint now more efficiently uses free space at the right.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14910">bpo-14910</a>: Add allow_abbrev parameter to argparse.ArgumentParser. Patch by
Jonathan Paugh, Steven Bethard, paul j3 and Daniel Eriksson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21717">bpo-21717</a>: tarfile.open() now supports ‘x’ (exclusive creation) mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23344">bpo-23344</a>: marshal.dumps() is now 20-25% faster on average.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20416">bpo-20416</a>: marshal.dumps() with protocols 3 and 4 is now 40-50% faster on
average.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23421">bpo-23421</a>: Fixed compression in tarfile CLI.  Patch by wdv4758h.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23367">bpo-23367</a>: Fix possible overflows in the unicodedata module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23361">bpo-23361</a>: Fix possible overflow in Windows subprocess creation code.</p></li>
<li><p>logging.handlers.QueueListener now takes a respect_handler_level keyword
argument which, if set to True, will pass messages to handlers taking
handler levels into account.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19705">bpo-19705</a>: turtledemo now has a visual sorting algorithm demo.  Original
patch from Jason Yeo.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23801">bpo-23801</a>: Fix issue where cgi.FieldStorage did not always ignore the
entire preamble to a multipart body.</p></li>
</ul>
</div>
<div class="section" id="id265">
<h3>Build<a class="headerlink" href="#id265" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23445">bpo-23445</a>: pydebug builds now use “gcc -Og” where possible, to make the
resulting executable faster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23686">bpo-23686</a>: Update OS X 10.5 installer build to use OpenSSL 1.0.2a.</p></li>
</ul>
</div>
<div class="section" id="id266">
<h3>C API<a class="headerlink" href="#id266" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue20204">bpo-20204</a>: Deprecation warning is now raised for builtin types without the
__module__ attribute.</p></li>
</ul>
</div>
<div class="section" id="id267">
<h3>Windows<a class="headerlink" href="#id267" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23465">bpo-23465</a>: Implement PEP 486 - Make the Python Launcher aware of virtual
environments. Patch by Paul Moore.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23437">bpo-23437</a>: Make user scripts directory versioned on Windows. Patch by Paul
Moore.</p></li>
</ul>
</div>
</div>
<div class="section" id="python-3-5-0-alpha-1">
<h2>Python 3.5.0 alpha 1<a class="headerlink" href="#python-3-5-0-alpha-1" title="Permalink to this headline">¶</a></h2>
<p><em>Release date: 2015-02-08</em></p>
<div class="section" id="id268">
<h3>Core and Builtins<a class="headerlink" href="#id268" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23285">bpo-23285</a>: PEP 475 - EINTR handling.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22735">bpo-22735</a>: Fix many edge cases (including crashes) involving custom mro()
implementations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22896">bpo-22896</a>: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
and PyObject_AsWriteBuffer().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21295">bpo-21295</a>: Revert some changes (<a class="reference external" href="https://bugs.python.org/issue16795">bpo-16795</a>) to AST line numbers and
column offsets that constituted a regression.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22986">bpo-22986</a>: Allow changing an object’s __class__ between a dynamic type and
static type in some cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15859">bpo-15859</a>: PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and
PyUnicode_EncodeCodePage() now raise an exception if the object is not a
Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case
on platforms other than Windows. Patch written by Campbell Barton.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a>: The default __ne__() now returns NotImplemented if __eq__()
returned NotImplemented.  Original patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23321">bpo-23321</a>: Fixed a crash in str.decode() when error handler returned
replacement string longer than malformed input data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22286">bpo-22286</a>: The “backslashreplace” error handlers now works with decoding
and translating.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23253">bpo-23253</a>: Delay-load ShellExecute[AW] in os.startfile for reduced startup
overhead on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22038">bpo-22038</a>: pyatomic.h now uses stdatomic.h or GCC built-in functions for
atomic memory access if available. Patch written by Vitor de Lima and
Gustavo Temple.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20284">bpo-20284</a>: %-interpolation (aka printf) formatting added for bytes and
bytearray.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23048">bpo-23048</a>: Fix jumping out of an infinite while loop in the pdb.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20335">bpo-20335</a>: bytes constructor now raises TypeError when encoding or errors
is specified with non-string argument.  Based on patch by Renaud Blanch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22834">bpo-22834</a>: If the current working directory ends up being set to a
non-existent directory then import will no longer raise FileNotFoundError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22869">bpo-22869</a>: Move the interpreter startup &amp; shutdown code to a new dedicated
pylifecycle.c module</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22847">bpo-22847</a>: Improve method cache efficiency.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22335">bpo-22335</a>: Fix crash when trying to enlarge a bytearray to 0x7fffffff
bytes on a 32-bit platform.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22653">bpo-22653</a>: Fix an assertion failure in debug mode when doing a reentrant
dict insertion in debug mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22643">bpo-22643</a>: Fix integer overflow in Unicode case operations (upper, lower,
title, swapcase, casefold).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17636">bpo-17636</a>: Circular imports involving relative imports are now supported.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22604">bpo-22604</a>: Fix assertion error in debug mode when dividing a complex
number by (nan+0j).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21052">bpo-21052</a>: Do not raise ImportWarning when sys.path_hooks or sys.meta_path
are set to None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16518">bpo-16518</a>: Use ‘bytes-like object required’ in error messages that
previously used the far more cryptic “‘x’ does not support the buffer
protocol.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22470">bpo-22470</a>: Fixed integer overflow issues in “backslashreplace”,
“xmlcharrefreplace”, and “surrogatepass” error handlers.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22540">bpo-22540</a>: speed up <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyObject_IsInstance</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyObject_IsSubclass</span></code> in the
common case that the second argument has metaclass <a class="reference internal" href="../library/functions.html#type" title="type"><code class="xref py py-obj docutils literal notranslate"><span class="pre">type</span></code></a>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18711">bpo-18711</a>: Add a new <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_FormatV</span></code> function, similar to <code class="xref py py-obj docutils literal notranslate"><span class="pre">PyErr_Format</span></code>
but accepting a <code class="xref py py-obj docutils literal notranslate"><span class="pre">va_list</span></code> argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22520">bpo-22520</a>: Fix overflow checking when generating the repr of a unicode
object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22519">bpo-22519</a>: Fix overflow checking in PyBytes_Repr.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22518">bpo-22518</a>: Fix integer overflow issues in latin-1 encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16324">bpo-16324</a>: _charset parameter of MIMEText now also accepts
email.charset.Charset instances. Initial patch by Claude Paroz.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1764286">bpo-1764286</a>: Fix inspect.getsource() to support decorated functions. Patch
by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18554">bpo-18554</a>: os.__all__ includes posix functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21391">bpo-21391</a>: Use os.path.abspath in the shutil module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11471">bpo-11471</a>: avoid generating a JUMP_FORWARD instruction at the end of an
if-block if there is no else-clause.  Original patch by Eugene Toder.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22215">bpo-22215</a>: Now ValueError is raised instead of TypeError when str or bytes
argument contains not permitted null character or byte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22258">bpo-22258</a>: Fix the internal function set_inheritable() on Illumos. This
platform exposes the function <code class="docutils literal notranslate"><span class="pre">ioctl(FIOCLEX)</span></code>, but calling it fails
with errno is ENOTTY: “Inappropriate ioctl for device”. set_inheritable()
now falls back to the slower <code class="docutils literal notranslate"><span class="pre">fcntl()</span></code> (<code class="docutils literal notranslate"><span class="pre">F_GETFD</span></code> and then
<code class="docutils literal notranslate"><span class="pre">F_SETFD</span></code>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21389">bpo-21389</a>: Displaying the __qualname__ of the underlying function in the
repr of a bound method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22206">bpo-22206</a>: Using pthread, PyThread_create_key() now sets errno to ENOMEM
and returns -1 (error) on integer overflow.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20184">bpo-20184</a>: Argument Clinic based signature introspection added for 30 of
the builtin functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22116">bpo-22116</a>: C functions and methods (of the ‘builtin_function_or_method’
type) can now be weakref’ed.  Patch by Wei Wu.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22077">bpo-22077</a>: Improve index error messages for bytearrays, bytes, lists, and
tuples by adding ‘or slices’. Added ‘, not &lt;typename&gt;’ for bytearrays.
Original patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20179">bpo-20179</a>: Apply Argument Clinic to bytes and bytearray. Patch by Tal
Einat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22082">bpo-22082</a>: Clear interned strings in slotdefs.</p></li>
<li><p>Upgrade Unicode database to Unicode 7.0.0.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21897">bpo-21897</a>: Fix a crash with the f_locals attribute with closure variables
when frame.clear() has been called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21205">bpo-21205</a>: Add a new <code class="docutils literal notranslate"><span class="pre">__qualname__</span></code> attribute to generator, the
qualified name, and use it in the representation of a generator
(<code class="docutils literal notranslate"><span class="pre">repr(gen)</span></code>). The default name of the generator (<code class="docutils literal notranslate"><span class="pre">__name__</span></code>
attribute) is now get from the function instead of the code. Use
<code class="docutils literal notranslate"><span class="pre">gen.gi_code.co_name</span></code> to get the name of the code.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21669">bpo-21669</a>: With the aid of heuristics in SyntaxError.__init__, the parser
now attempts to generate more meaningful (or at least more search engine
friendly) error messages when “exec” and “print” are used as statements.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21642">bpo-21642</a>: In the conditional if-else expression, allow an integer written
with no space between itself and the <code class="docutils literal notranslate"><span class="pre">else</span></code> keyword (e.g. <code class="docutils literal notranslate"><span class="pre">True</span> <span class="pre">if</span>
<span class="pre">42else</span> <span class="pre">False</span></code>) to be valid syntax.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21523">bpo-21523</a>: Fix over-pessimistic computation of the stack effect of some
opcodes in the compiler.  This also fixes a quadratic compilation time
issue noticeable when compiling code with a large number of “and” and “or”
operators.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21418">bpo-21418</a>: Fix a crash in the builtin function super() when called without
argument and without current frame (ex: embedded Python).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21425">bpo-21425</a>: Fix flushing of standard streams in the interactive
interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21435">bpo-21435</a>: In rare cases, when running finalizers on objects in cyclic
trash a bad pointer dereference could occur due to a subtle flaw in
internal iteration logic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21377">bpo-21377</a>: PyBytes_Concat() now tries to concatenate in-place when the
first argument has a reference count of 1.  Patch by Nikolaus Rath.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20355">bpo-20355</a>: -W command line options now have higher priority than the
PYTHONWARNINGS environment variable.  Patch by Arfrever.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21274">bpo-21274</a>: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20904">bpo-20904</a>: Support setting FPU precision on m68k.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21209">bpo-21209</a>: Fix sending tuples to custom generator objects with the yield
from syntax.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21193">bpo-21193</a>: pow(a, b, c) now raises ValueError rather than TypeError when b
is negative. Patch by Josh Rosenberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21176">bpo-21176</a>: PEP 465: Add the ‘&#64;’ operator for matrix multiplication.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21134">bpo-21134</a>: Fix segfault when str is called on an uninitialized
UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19537">bpo-19537</a>: Fix PyUnicode_DATA() alignment under m68k.  Patch by Andreas
Schwab.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20929">bpo-20929</a>: Add a type cast to avoid shifting a negative number.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20731">bpo-20731</a>: Properly position in source code files even if they are opened
in text mode. Patch by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20637">bpo-20637</a>: Key-sharing now also works for instance dictionaries of
subclasses.  Patch by Peter Ingebretson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8297">bpo-8297</a>: Attributes missing from modules now include the module name in
the error text.  Original patch by ysj.ray.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19995">bpo-19995</a>: %c, %o, %x, and %X now raise TypeError on non-integer input.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19655">bpo-19655</a>: The ASDL parser - used by the build process to generate code
for managing the Python AST in C - was rewritten. The new parser is self
contained and does not require to carry long the spark.py parser-generator
library; spark.py was removed from the source base.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12546">bpo-12546</a>: Allow <code class="docutils literal notranslate"><span class="pre">\x00</span></code> to be used as a fill character when using str,
int, float, and complex __format__ methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20480">bpo-20480</a>: Add ipaddress.reverse_pointer. Patch by Leon Weber.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13598">bpo-13598</a>: Modify string.Formatter to support auto-numbering of
replacement fields. It now matches the behavior of str.format() in this
regard. Patches by Phil Elson and Ramchandra Apte.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8931">bpo-8931</a>: Make alternate formatting (‘#’) for type ‘c’ raise an exception.
In versions prior to 3.5, ‘#’ with ‘c’ had no effect. Now specifying it is
an error. Patch by Torsten Landschoff.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23165">bpo-23165</a>: Perform overflow checks before allocating memory in the
_Py_char2wchar function.</p></li>
</ul>
</div>
<div class="section" id="id269">
<h3>Library<a class="headerlink" href="#id269" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23399">bpo-23399</a>: pyvenv creates relative symlinks where possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20289">bpo-20289</a>: cgi.FieldStorage() now supports the context management
protocol.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13128">bpo-13128</a>: Print response headers for CONNECT requests when debuglevel &gt;
0. Patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15381">bpo-15381</a>: Optimized io.BytesIO to make less allocations and copyings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22818">bpo-22818</a>: Splitting on a pattern that could match an empty string now
raises a warning.  Patterns that can only match empty strings are now
rejected.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23099">bpo-23099</a>: Closing io.BytesIO with exported buffer is rejected now to
prevent corrupting exported buffer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23326">bpo-23326</a>: Removed __ne__ implementations.  Since fixing default __ne__
implementation in <a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a> they are redundant.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23363">bpo-23363</a>: Fix possible overflow in itertools.permutations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23364">bpo-23364</a>: Fix possible overflow in itertools.product.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23366">bpo-23366</a>: Fixed possible integer overflow in itertools.combinations.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23369">bpo-23369</a>: Fixed possible integer overflow in
_json.encode_basestring_ascii.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23353">bpo-23353</a>: Fix the exception handling of generators in
PyEval_EvalFrameEx(). At entry, save or swap the exception state even if
PyEval_EvalFrameEx() is called with throwflag=0. At exit, the exception
state is now always restored or swapped, not only if why is WHY_YIELD or
WHY_RETURN. Patch co-written with Antoine Pitrou.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: Restored support of writing ZIP files to tellable but
non-seekable streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: Writing to ZipFile and reading multiple ZipExtFiles is
threadsafe now.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19361">bpo-19361</a>: JSON decoder now raises JSONDecodeError instead of ValueError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18518">bpo-18518</a>: timeit now rejects statements which can’t be compiled outside a
function or a loop (e.g. “return” or “break”).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23094">bpo-23094</a>: Fixed readline with frames in Python implementation of pickle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23268">bpo-23268</a>: Fixed bugs in the comparison of ipaddress classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21408">bpo-21408</a>: Removed incorrect implementations of __ne__() which didn’t
returned NotImplemented if __eq__() returned NotImplemented.  The default
__ne__() now works correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19996">bpo-19996</a>: <code class="xref py py-class docutils literal notranslate"><span class="pre">email.feedparser.FeedParser</span></code> now handles (malformed)
headers with no key rather than assuming the body has started.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20188">bpo-20188</a>: Support Application-Layer Protocol Negotiation (ALPN) in the
ssl module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23133">bpo-23133</a>: Pickling of ipaddress objects now produces more compact and
portable representation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23248">bpo-23248</a>: Update ssl error codes from latest OpenSSL git master.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23266">bpo-23266</a>: Much faster implementation of ipaddress.collapse_addresses()
when there are many non-consecutive addresses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23098">bpo-23098</a>: 64-bit dev_t is now supported in the os module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21817">bpo-21817</a>: When an exception is raised in a task submitted to a
ProcessPoolExecutor, the remote traceback is now displayed in the parent
process.  Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15955">bpo-15955</a>: Add an option to limit output size when decompressing LZMA
data.  Patch by Nikolaus Rath and Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23250">bpo-23250</a>: In the http.cookies module, capitalize “HttpOnly” and “Secure”
as they are written in the standard.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23063">bpo-23063</a>: In the distutils’ check command, fix parsing of reST with code
or code-block directives.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23209">bpo-23209</a>: selectors.BaseSelector.get_key() now raises a RuntimeError if
the selector is closed. And selectors.BaseSelector.close() now clears its
internal reference to the selector mapping to break a reference cycle.
Initial patch written by Martin Richard. (See also: <a class="reference external" href="https://bugs.python.org/issue23225">bpo-23225</a>)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17911">bpo-17911</a>: Provide a way to seed the linecache for a PEP-302 module
without actually loading the code.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17911">bpo-17911</a>: Provide a new object API for traceback, including the ability
to not lookup lines at all until the traceback is actually rendered,
without any trace of the original objects being kept alive.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19777">bpo-19777</a>: Provide a home() classmethod on Path objects.  Contributed by
Victor Salgado and Mayank Tripathi.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23206">bpo-23206</a>: Make <code class="docutils literal notranslate"><span class="pre">json.dumps(...,</span> <span class="pre">ensure_ascii=False)</span></code> as fast as the
default case of <code class="docutils literal notranslate"><span class="pre">ensure_ascii=True</span></code>.  Patch by Naoki Inada.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23185">bpo-23185</a>: Add math.inf and math.nan constants.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23186">bpo-23186</a>: Add ssl.SSLObject.shared_ciphers() and
ssl.SSLSocket.shared_ciphers() to fetch the client’s list ciphers sent at
handshake.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23143">bpo-23143</a>: Remove compatibility with OpenSSLs older than 0.9.8.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23132">bpo-23132</a>: Improve performance and introspection support of comparison
methods created by functool.total_ordering.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19776">bpo-19776</a>: Add an expanduser() method on Path objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23112">bpo-23112</a>: Fix SimpleHTTPServer to correctly carry the query string and
fragment when it redirects to add a trailing slash.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21793">bpo-21793</a>: Added http.HTTPStatus enums (i.e. HTTPStatus.OK,
HTTPStatus.NOT_FOUND). Patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23093">bpo-23093</a>: In the io, module allow more operations to work on detached
streams.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23111">bpo-23111</a>: In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol
version.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22585">bpo-22585</a>: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
instead of reading /dev/urandom, to get pseudo-random bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19104">bpo-19104</a>: pprint now produces evaluable output for wrapped strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23071">bpo-23071</a>: Added missing names to codecs.__all__.  Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22783">bpo-22783</a>: Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX
opcode if possible.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15513">bpo-15513</a>: Added a __sizeof__ implementation for pickle classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19858">bpo-19858</a>: pickletools.optimize() now aware of the MEMOIZE opcode, can
produce more compact result and no longer produces invalid output if input
data contains MEMOIZE opcodes together with PUT or BINPUT opcodes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22095">bpo-22095</a>: Fixed HTTPConnection.set_tunnel with default port.  The port
value in the host header was set to “None”.  Patch by Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23016">bpo-23016</a>: A warning no longer produces an AttributeError when the program
is run with pythonw.exe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21775">bpo-21775</a>: shutil.copytree(): fix crash when copying to VFAT. An exception
handler assumed that OSError objects always have a ‘winerror’ attribute.
That is not the case, so the exception handler itself raised
AttributeError when run on Linux (and, presumably, any other non-Windows
OS). Patch by Greg Ward.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1218234">bpo-1218234</a>: Fix inspect.getsource() to load updated source of reloaded
module. Initial patch by Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21740">bpo-21740</a>: Support wrapped callables in doctest. Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23009">bpo-23009</a>: Make sure selectors.EpollSelecrtor.select() works when no FD is
registered.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22959">bpo-22959</a>: In the constructor of http.client.HTTPSConnection, prefer the
context’s check_hostname attribute over the <em>check_hostname</em> parameter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22696">bpo-22696</a>: Add function <a class="reference internal" href="../library/sys.html#sys.is_finalizing" title="sys.is_finalizing"><code class="xref py py-func docutils literal notranslate"><span class="pre">sys.is_finalizing()</span></code></a> to know about
interpreter shutdown.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16043">bpo-16043</a>: Add a default limit for the amount of data
xmlrpclib.gzip_decode will return. This resolves CVE-2013-1753.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14099">bpo-14099</a>: ZipFile.open() no longer reopen the underlying file.  Objects
returned by ZipFile.open() can now operate independently of the ZipFile
even if the ZipFile was created by passing in a file-like object as the
first argument to the constructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22966">bpo-22966</a>: Fix __pycache__ pyc file name clobber when pyc_compile is asked
to compile a source file containing multiple dots in the source file name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21971">bpo-21971</a>: Update turtledemo doc and add module to the index.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21032">bpo-21032</a>: Fixed socket leak if HTTPConnection.getresponse() fails.
Original patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22407">bpo-22407</a>: Deprecated the use of re.LOCALE flag with str patterns or
re.ASCII. It was newer worked.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22902">bpo-22902</a>: The “ip” command is now used on Linux to determine MAC address
in uuid.getnode().  Pach by Bruno Cauet.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22960">bpo-22960</a>: Add a context argument to xmlrpclib.ServerProxy constructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22389">bpo-22389</a>: Add contextlib.redirect_stderr().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21356">bpo-21356</a>: Make ssl.RAND_egd() optional to support LibreSSL. The
availability of the function is checked during the compilation. Patch
written by Bernard Spil.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22915">bpo-22915</a>: SAX parser now supports files opened with file descriptor or
bytes path.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22609">bpo-22609</a>: Constructors and update methods of mapping classes in the
collections module now accept the self keyword argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22940">bpo-22940</a>: Add readline.append_history_file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19676">bpo-19676</a>: Added the “namereplace” error handler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22788">bpo-22788</a>: Add <em>context</em> parameter to logging.handlers.HTTPHandler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22921">bpo-22921</a>: Allow SSLContext to take the <em>hostname</em> parameter even if
OpenSSL doesn’t support SNI.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22894">bpo-22894</a>: TestCase.subTest() would cause the test suite to be stopped
when in failfast mode, even in the absence of failures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22796">bpo-22796</a>: HTTP cookie parsing is now stricter, in order to protect
against potential injection attacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22370">bpo-22370</a>: Windows detection in pathlib is now more robust.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22841">bpo-22841</a>: Reject coroutines in asyncio add_signal_handler(). Patch by
Ludovic.Gasc.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19494">bpo-19494</a>: Added urllib.request.HTTPBasicPriorAuthHandler. Patch by Matej
Cepl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22578">bpo-22578</a>: Added attributes to the re.error class.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22849">bpo-22849</a>: Fix possible double free in the io.TextIOWrapper constructor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12728">bpo-12728</a>: Different Unicode characters having the same uppercase but
different lowercase are now matched in case-insensitive regular
expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22821">bpo-22821</a>: Fixed fcntl() with integer argument on 64-bit big-endian
platforms.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21650">bpo-21650</a>: Add an <code class="xref py py-obj docutils literal notranslate"><span class="pre">--sort-keys</span></code> option to json.tool CLI.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22824">bpo-22824</a>: Updated reprlib output format for sets to use set literals.
Patch contributed by Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22824">bpo-22824</a>: Updated reprlib output format for arrays to display empty
arrays without an unnecessary empty list.  Suggested by Serhiy Storchaka.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22406">bpo-22406</a>: Fixed the uu_codec codec incorrectly ported to 3.x. Based on
patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17293">bpo-17293</a>: uuid.getnode() now determines MAC address on AIX using netstat.
Based on patch by Aivars Kalvāns.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22769">bpo-22769</a>: Fixed ttk.Treeview.tag_has() when called without arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22417">bpo-22417</a>: Verify certificates by default in httplib (PEP 476).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22775">bpo-22775</a>: Fixed unpickling of http.cookies.SimpleCookie with protocol 2
and above. Patch by Tim Graham.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22776">bpo-22776</a>: Brought excluded code into the scope of a try block in
SysLogHandler.emit().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22665">bpo-22665</a>: Add missing get_terminal_size and SameFileError to
shutil.__all__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6623">bpo-6623</a>: Remove deprecated Netrc class in the ftplib module. Patch by
Matt Chaput.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17381">bpo-17381</a>: Fixed handling of case-insensitive ranges in regular
expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22410">bpo-22410</a>: Module level functions in the re module now cache compiled
locale-dependent regular expressions taking into account the locale.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22759">bpo-22759</a>: Query methods on pathlib.Path() (exists(), is_dir(), etc.) now
return False when the underlying stat call raises NotADirectoryError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8876">bpo-8876</a>: distutils now falls back to copying files when hard linking
doesn’t work. This allows use with special filesystems such as VirtualBox
shared folders.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22217">bpo-22217</a>: Implemented reprs of classes in the zipfile module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22457">bpo-22457</a>: Honour load_tests in the start_dir of discovery.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18216">bpo-18216</a>: gettext now raises an error when a .mo file has an unsupported
major version number.  Patch by Aaron Hill.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13918">bpo-13918</a>: Provide a locale.delocalize() function which can remove
locale-specific number formatting from a string representing a number,
without then converting it to a specific type.  Patch by Cédric Krier.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22676">bpo-22676</a>: Make the pickling of global objects which don’t have a
__module__ attribute less slow.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18853">bpo-18853</a>: Fixed ResourceWarning in shlex.__nain__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9351">bpo-9351</a>: Defaults set with set_defaults on an argparse subparser are no
longer ignored when also set on the parent parser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7559">bpo-7559</a>: unittest test loading ImportErrors are reported as import errors
with their import exception rather than as attribute errors after the
import has already failed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19746">bpo-19746</a>: Make it possible to examine the errors from unittest discovery
without executing the test suite. The new <code class="xref py py-obj docutils literal notranslate"><span class="pre">errors</span></code> attribute on TestLoader
exposes these non-fatal errors encountered during discovery.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21991">bpo-21991</a>: Make email.headerregistry’s header ‘params’ attributes be
read-only (MappingProxyType).  Previously the dictionary was modifiable
but a new one was created on each access of the attribute.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22638">bpo-22638</a>: SSLv3 is now disabled throughout the standard library. It can
still be enabled by instantiating a SSLContext manually.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22641">bpo-22641</a>: In asyncio, the default SSL context for client connections is
now created using ssl.create_default_context(), for stronger security.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17401">bpo-17401</a>: Include closefd in io.FileIO repr.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21338">bpo-21338</a>: Add silent mode for compileall. quiet parameters of
compile_{dir, file, path} functions now have a multilevel value. Also, -q
option of the CLI now have a multilevel value. Patch by Thomas Kluyver.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20152">bpo-20152</a>: Convert the array and cmath modules to Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18643">bpo-18643</a>: Add socket.socketpair() on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22435">bpo-22435</a>: Fix a file descriptor leak when socketserver bind fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13096">bpo-13096</a>: Fixed segfault in CTypes POINTER handling of large values.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11694">bpo-11694</a>: Raise ConversionError in xdrlib as documented.  Patch by Filip
Gruszczyński and Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19380">bpo-19380</a>: Optimized parsing of regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue1519638">bpo-1519638</a>: Now unmatched groups are replaced with empty strings in
re.sub() and re.subn().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18615">bpo-18615</a>: sndhdr.what/whathdr now return a namedtuple.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22462">bpo-22462</a>: Fix pyexpat’s creation of a dummy frame to make it appear in
exception tracebacks.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21965">bpo-21965</a>: Add support for in-memory SSL to the ssl module.  Patch by
Geert Jansen.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21173">bpo-21173</a>: Fix len() on a WeakKeyDictionary when .clear() was called with
an iterator alive.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11866">bpo-11866</a>: Eliminated race condition in the computation of names for new
threads.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21905">bpo-21905</a>: Avoid RuntimeError in pickle.whichmodule() when sys.modules is
mutated while iterating.  Patch by Olivier Grisel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11271">bpo-11271</a>: concurrent.futures.Executor.map() now takes a <em>chunksize</em>
argument to allow batching of tasks in child processes and improve
performance of ProcessPoolExecutor.  Patch by Dan O’Reilly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21883">bpo-21883</a>: os.path.join() and os.path.relpath() now raise a TypeError with
more helpful error message for unsupported or mismatched types of
arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22219">bpo-22219</a>: The zipfile module CLI now adds entries for directories
(including empty directories) in ZIP file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22449">bpo-22449</a>: In the ssl.SSLContext.load_default_certs, consult the
environmental variables SSL_CERT_DIR and SSL_CERT_FILE on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22508">bpo-22508</a>: The email.__version__ variable has been removed; the email code
is no longer shipped separately from the stdlib, and __version__ hasn’t
been updated in several releases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20076">bpo-20076</a>: Added non derived UTF-8 aliases to locale aliases table.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20079">bpo-20079</a>: Added locales supported in glibc 2.18 to locale alias table.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20218">bpo-20218</a>: Added convenience methods read_text/write_text and read_bytes/
write_bytes to pathlib.Path objects.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22396">bpo-22396</a>: On 32-bit AIX platform, don’t expose os.posix_fadvise() nor
os.posix_fallocate() because their prototypes in system headers are wrong.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22517">bpo-22517</a>: When an io.BufferedRWPair object is deallocated, clear its
weakrefs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22437">bpo-22437</a>: Number of capturing groups in regular expression is no longer
limited by 100.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17442">bpo-17442</a>: InteractiveInterpreter now displays the full chained traceback
in its showtraceback method, to match the built in interactive
interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23392">bpo-23392</a>: Added tests for marshal C API that works with FILE*.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10510">bpo-10510</a>: distutils register and upload methods now use HTML standards
compliant CRLF line endings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9850">bpo-9850</a>: Fixed macpath.join() for empty first component.  Patch by Oleg
Oshmyan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5309">bpo-5309</a>: distutils’ build and build_ext commands now accept a <code class="docutils literal notranslate"><span class="pre">-j</span></code>
option to enable parallel building of extension modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22448">bpo-22448</a>: Improve canceled timer handles cleanup to prevent unbound
memory usage. Patch by Joshua Moore-Oliva.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22427">bpo-22427</a>: TemporaryDirectory no longer attempts to clean up twice when
used in the with statement in generator.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22362">bpo-22362</a>: Forbidden ambiguous octal escapes out of range 0-0o377 in
regular expressions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20912">bpo-20912</a>: Now directories added to ZIP file have correct Unix and MS-DOS
directory attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21866">bpo-21866</a>: ZipFile.close() no longer writes ZIP64 central directory
records if allowZip64 is false.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22278">bpo-22278</a>: Fix urljoin problem with relative urls, a regression observed
after changes to issue22118 were submitted.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22415">bpo-22415</a>: Fixed debugging output of the GROUPREF_EXISTS opcode in the re
module. Removed trailing spaces in debugging output.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22423">bpo-22423</a>: Unhandled exception in thread no longer causes unhandled
AttributeError when sys.stderr is None.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21332">bpo-21332</a>: Ensure that <code class="docutils literal notranslate"><span class="pre">bufsize=1</span></code> in subprocess.Popen() selects line
buffering, rather than block buffering.  Patch by Akira Li.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21091">bpo-21091</a>: Fix API bug: email.message.EmailMessage.is_attachment is now a
method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21079">bpo-21079</a>: Fix email.message.EmailMessage.is_attachment to return the
correct result when the header has parameters as well as a value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22247">bpo-22247</a>: Add NNTPError to nntplib.__all__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22366">bpo-22366</a>: urllib.request.urlopen will accept a context object
(SSLContext) as an argument which will then be used for HTTPS connection.
Patch by Alex Gaynor.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4180">bpo-4180</a>: The warnings registries are now reset when the filters are
modified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22419">bpo-22419</a>: Limit the length of incoming HTTP request in wsgiref server to
65536 bytes and send a 414 error code for higher lengths. Patch
contributed by Devin Cook.</p></li>
<li><p>Lax cookie parsing in http.cookies could be a security issue when combined
with non-standard cookie handling in some Web browsers.  Reported by
Sergey Bobrov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20537">bpo-20537</a>: logging methods now accept an exception instance as well as a
Boolean value or exception tuple. Thanks to Yury Selivanov for the patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22384">bpo-22384</a>: An exception in Tkinter callback no longer crashes the program
when it is run with pythonw.exe.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22168">bpo-22168</a>: Prevent turtle AttributeError with non-default Canvas on OS X.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21147">bpo-21147</a>: sqlite3 now raises an exception if the request contains a null
character instead of truncating it.  Based on patch by Victor Stinner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13968">bpo-13968</a>: The glob module now supports recursive search in subdirectories
using the <code class="docutils literal notranslate"><span class="pre">**</span></code> pattern.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21951">bpo-21951</a>: Fixed a crash in Tkinter on AIX when called Tcl command with
empty string or tuple argument.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21951">bpo-21951</a>: Tkinter now most likely raises MemoryError instead of crash if
the memory allocation fails.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22338">bpo-22338</a>: Fix a crash in the json module on memory allocation failure.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12410">bpo-12410</a>: imaplib.IMAP4 now supports the context management protocol.
Original patch by Tarek Ziadé.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21270">bpo-21270</a>: We now override tuple methods in mock.call objects so that they
can be used as normal call attributes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16662">bpo-16662</a>: load_tests() is now unconditionally run when it is present in a
package’s __init__.py.  TestLoader.loadTestsFromModule() still accepts
use_load_tests, but it is deprecated and ignored.  A new keyword-only
attribute <code class="xref py py-obj docutils literal notranslate"><span class="pre">pattern</span></code> is added and documented.  Patch given by Robert
Collins, tweaked by Barry Warsaw.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22226">bpo-22226</a>: First letter no longer is stripped from the “status” key in the
result of Treeview.heading().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19524">bpo-19524</a>: Fixed resource leak in the HTTP connection when an invalid
response is received.  Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20421">bpo-20421</a>: Add a .version() method to SSL sockets exposing the actual
protocol version in use.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19546">bpo-19546</a>: configparser exceptions no longer expose implementation
details. Chained KeyErrors are removed, which leads to cleaner tracebacks.
Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22051">bpo-22051</a>: turtledemo no longer reloads examples to re-run them.
Initialization of variables and gui setup should be done in main(), which
is called each time a demo is run, but not on import.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21933">bpo-21933</a>: Turtledemo users can change the code font size with a menu
selection or control(command) ‘-‘ or ‘+’ or control-mousewheel. Original
patch by Lita Cho.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21597">bpo-21597</a>: The separator between the turtledemo text pane and the drawing
canvas can now be grabbed and dragged with a mouse.  The code text pane
can be widened to easily view or copy the full width of the text.  The
canvas can be widened on small screens.  Original patches by Jan Kanis and
Lita Cho.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18132">bpo-18132</a>: Turtledemo buttons no longer disappear when the window is
shrunk.  Original patches by Jan Kanis and Lita Cho.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22043">bpo-22043</a>: time.monotonic() is now always available.
<code class="docutils literal notranslate"><span class="pre">threading.Lock.acquire()</span></code>, <code class="docutils literal notranslate"><span class="pre">threading.RLock.acquire()</span></code> and socket
operations now use a monotonic clock, instead of the system clock, when a
timeout is used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21527">bpo-21527</a>: Add a default number of workers to ThreadPoolExecutor equal to
5 times the number of CPUs.  Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22216">bpo-22216</a>: smtplib now resets its state more completely after a quit.  The
most obvious consequence of the previous behavior was a STARTTLS failure
during a connect/starttls/quit/connect/starttls sequence.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22098">bpo-22098</a>: ctypes’ BigEndianStructure and LittleEndianStructure now define
an empty __slots__ so that subclasses don’t always get an instance dict.
Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22185">bpo-22185</a>: Fix an occasional RuntimeError in threading.Condition.wait()
caused by mutation of the waiters queue without holding the lock.  Patch
by Doug Zongker.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22287">bpo-22287</a>: On UNIX, _PyTime_gettimeofday() now uses
clock_gettime(CLOCK_REALTIME) if available. As a side effect, Python now
depends on the librt library on Solaris and on Linux (only with glibc
older than 2.17).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22182">bpo-22182</a>: Use e.args to unpack exceptions correctly in
distutils.file_util.move_file. Patch by Claudiu Popa.</p></li>
<li><p>The webbrowser module now uses subprocess’s start_new_session=True rather
than a potentially risky preexec_fn=os.setsid call.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22042">bpo-22042</a>: signal.set_wakeup_fd(fd) now raises an exception if the file
descriptor is in blocking mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16808">bpo-16808</a>: inspect.stack() now returns a named tuple instead of a tuple.
Patch by Daniel Shahaf.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22236">bpo-22236</a>: Fixed Tkinter images copying operations in NoDefaultRoot mode.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue2527">bpo-2527</a>: Add a <em>globals</em> argument to timeit functions, in order to
override the globals namespace in which the timed code is executed. Patch
by Ben Roberts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22118">bpo-22118</a>: Switch urllib.parse to use RFC 3986 semantics for the
resolution of relative URLs, rather than RFCs 1808 and 2396. Patch by
Demian Brecht.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21549">bpo-21549</a>: Added the “members” parameter to TarFile.list().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19628">bpo-19628</a>: Allow compileall recursion depth to be specified with a -r
option.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15696">bpo-15696</a>: Add a __sizeof__ implementation for mmap objects on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22068">bpo-22068</a>: Avoided reference loops with Variables and Fonts in Tkinter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22165">bpo-22165</a>: SimpleHTTPRequestHandler now supports undecodable file names.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15381">bpo-15381</a>: Optimized line reading in io.BytesIO.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue8797">bpo-8797</a>: Raise HTTPError on failed Basic Authentication immediately.
Initial patch by Sam Bull.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20729">bpo-20729</a>: Restored the use of lazy iterkeys()/itervalues()/iteritems() in
the mailbox module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21448">bpo-21448</a>: Changed FeedParser feed() to avoid O(N**2) behavior when
parsing long line. Original patch by Raymond Hettinger.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22184">bpo-22184</a>: The functools LRU Cache decorator factory now gives an earlier
and clearer error message when the user forgets the required parameters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17923">bpo-17923</a>: glob() patterns ending with a slash no longer match non-dirs on
AIX.  Based on patch by Delhallt.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21725">bpo-21725</a>: Added support for RFC 6531 (SMTPUTF8) in smtpd.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22176">bpo-22176</a>: Update the ctypes module’s libffi to v3.1.  This release adds
support for the Linux AArch64 and POWERPC ELF ABIv2 little endian
architectures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5411">bpo-5411</a>: Added support for the “xztar” format in the shutil module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21121">bpo-21121</a>: Don’t force 3rd party C extensions to be built with &lt;&lt;&lt;&lt;&lt;&lt;&lt;
HEAD <code class="docutils literal notranslate"><span class="pre">-Werror=declaration-after-statement</span></code>. =======
-Werror=declaration-after-statement. &gt;&gt;&gt;&gt;&gt;&gt;&gt; 3f819ca138… <a class="reference external" href="https://bugs.python.org/issue35110">bpo-35110</a>: Fix
unintentional spaces around hyphens and dashes. (GH-10231)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21975">bpo-21975</a>: Fixed crash when using uninitialized sqlite3.Row (in particular
when unpickling pickled sqlite3.Row).  sqlite3.Row is now initialized in
the __new__() method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20170">bpo-20170</a>: Convert posixmodule to use Argument Clinic.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21539">bpo-21539</a>: Add an <em>exists_ok</em> argument to <code class="xref py py-obj docutils literal notranslate"><span class="pre">Pathlib.mkdir()</span></code> to mimic
<code class="xref py py-obj docutils literal notranslate"><span class="pre">mkdir</span> <span class="pre">-p</span></code> and <a class="reference internal" href="../library/os.html#os.makedirs" title="os.makedirs"><code class="xref py py-obj docutils literal notranslate"><span class="pre">os.makedirs()</span></code></a> functionality.  When true, ignore
FileExistsErrors.  Patch by Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22127">bpo-22127</a>: Bypass IDNA for pure-ASCII host names in the socket module (in
particular for numeric IPs).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21047">bpo-21047</a>: set the default value for the <em>convert_charrefs</em> argument of
HTMLParser to True.  Patch by Berker Peksag.</p></li>
<li><p>Add an __all__ to html.entities.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15114">bpo-15114</a>: the strict mode and argument of HTMLParser, HTMLParser.error,
and the HTMLParserError exception have been removed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22085">bpo-22085</a>: Dropped support of Tk 8.3 in Tkinter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21580">bpo-21580</a>: Now Tkinter correctly handles bytes arguments passed to Tk. In
particular this allows initializing images from binary data.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22003">bpo-22003</a>: When initialized from a bytes object, io.BytesIO() now defers
making a copy until it is mutated, improving performance and memory use on
some use cases. Patch by David Wilson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22018">bpo-22018</a>: On Windows, signal.set_wakeup_fd() now also supports sockets. A
side effect is that Python depends to the WinSock library.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22054">bpo-22054</a>: Add os.get_blocking() and os.set_blocking() functions to get
and set the blocking mode of a file descriptor (False if the O_NONBLOCK
flag is set, True otherwise). These functions are not available on
Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17172">bpo-17172</a>: Make turtledemo start as active on OS X even when run with
subprocess. Patch by Lita Cho.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21704">bpo-21704</a>: Fix build error for _multiprocessing when semaphores are not
available. Patch by Arfrever Frehtes Taifersar Arahesis.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20173">bpo-20173</a>: Convert sha1, sha256, sha512 and md5 to ArgumentClinic. Patch
by Vajrasky Kok.</p></li>
<li><p>Fix repr(_socket.socket) on Windows 64-bit: don’t fail with OverflowError
on closed socket. repr(socket.socket) already works fine.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22033">bpo-22033</a>: Reprs of most Python implemented classes now contain actual
class name instead of hardcoded one.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21947">bpo-21947</a>: The dis module can now disassemble generator-iterator objects
based on their gi_code attribute. Patch by Clement Rouault.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16133">bpo-16133</a>: The asynchat.async_chat.handle_read() method now ignores
BlockingIOError exceptions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22044">bpo-22044</a>: Fixed premature DECREF in call_tzinfo_method. Patch by Tom
Flanagan.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19884">bpo-19884</a>: readline: Disable the meta modifier key if stdout is not a
terminal to not write the ANSI sequence <code class="docutils literal notranslate"><span class="pre">&quot;\033[1034h&quot;</span></code> into stdout. This
sequence is used on some terminal (ex: TERM=xterm-256color”) to enable
support of 8 bit characters.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4350">bpo-4350</a>: Removed a number of out-of-dated and non-working for a long time
Tkinter methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6167">bpo-6167</a>: Scrollbar.activate() now returns the name of active element if
the argument is not specified.  Scrollbar.set() now always accepts only 2
arguments.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15275">bpo-15275</a>: Clean up and speed up the ntpath module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21888">bpo-21888</a>: plistlib’s load() and loads() now work if the fmt parameter is
specified.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22032">bpo-22032</a>: __qualname__ instead of __name__ is now always used to format
fully qualified class names of Python implemented classes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22031">bpo-22031</a>: Reprs now always use hexadecimal format with the “0x” prefix
when contain an id in form ” at 0x…”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22018">bpo-22018</a>: signal.set_wakeup_fd() now raises an OSError instead of a
ValueError on <code class="docutils literal notranslate"><span class="pre">fstat()</span></code> failure.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21044">bpo-21044</a>: tarfile.open() now handles fileobj with an integer ‘name’
attribute.  Based on patch by Antoine Pietri.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21966">bpo-21966</a>: Respect -q command-line option when code module is ran.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19076">bpo-19076</a>: Don’t pass the redundant ‘file’ argument to self.error().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16382">bpo-16382</a>: Improve exception message of warnings.warn() for bad category.
Initial patch by Phil Elson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21932">bpo-21932</a>: os.read() now uses a <code class="xref c c-func docutils literal notranslate"><span class="pre">Py_ssize_t()</span></code> type instead of
<code class="xref c c-type docutils literal notranslate"><span class="pre">int</span></code> for the size to support reading more than 2 GB at once. On
Windows, the size is truncated to INT_MAX. As any call to os.read(), the
OS may read less bytes than the number of requested bytes.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21942">bpo-21942</a>: Fixed source file viewing in pydoc’s server mode on Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11259">bpo-11259</a>: asynchat.async_chat().set_terminator() now raises a ValueError
if the number of received bytes is negative.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12523">bpo-12523</a>: asynchat.async_chat.push() now raises a TypeError if it doesn’t
get a bytes string</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21707">bpo-21707</a>: Add missing kwonlyargcount argument to
ModuleFinder.replace_paths_in_code().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20639">bpo-20639</a>: calling Path.with_suffix(‘’) allows removing the suffix again.
Patch by July Tikhonov.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21714">bpo-21714</a>: Disallow the construction of invalid paths using
Path.with_name().  Original patch by Antony Lee.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15014">bpo-15014</a>: Added ‘auth’ method to smtplib to make implementing auth
mechanisms simpler, and used it internally in the login method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21151">bpo-21151</a>: Fixed a segfault in the winreg module when <code class="docutils literal notranslate"><span class="pre">None</span></code> is passed
as a <code class="docutils literal notranslate"><span class="pre">REG_BINARY</span></code> value to SetValueEx.  Patch by John Ehresman.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21090">bpo-21090</a>: io.FileIO.readall() does not ignore I/O errors anymore. Before,
it ignored I/O errors if at least the first C call read() succeed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue5800">bpo-5800</a>: headers parameter of wsgiref.headers.Headers is now optional.
Initial patch by Pablo Torres Navarrete and SilentGhost.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21781">bpo-21781</a>: ssl.RAND_add() now supports strings longer than 2 GB.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21679">bpo-21679</a>: Prevent extraneous fstat() calls during open().  Patch by
Bohuslav Kabrda.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21863">bpo-21863</a>: cProfile now displays the module name of C extension functions,
in addition to their own name.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11453">bpo-11453</a>: asyncore: emit a ResourceWarning when an unclosed file_wrapper
object is destroyed. The destructor now closes the file if needed. The
close() method can now be called twice: the second call does nothing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21858">bpo-21858</a>: Better handling of Python exceptions in the sqlite3 module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21476">bpo-21476</a>: Make sure the email.parser.BytesParser TextIOWrapper is
discarded after parsing, so the input file isn’t unexpectedly closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20295">bpo-20295</a>: imghdr now recognizes OpenEXR format images.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21729">bpo-21729</a>: Used the “with” statement in the dbm.dumb module to ensure
files closing. Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21491">bpo-21491</a>: socketserver: Fix a race condition in child processes reaping.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21719">bpo-21719</a>: Added the <code class="docutils literal notranslate"><span class="pre">st_file_attributes</span></code> field to os.stat_result on
Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21832">bpo-21832</a>: Require named tuple inputs to be exact strings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21722">bpo-21722</a>: The distutils “upload” command now exits with a non-zero return
code when uploading fails.  Patch by Martin Dengler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21723">bpo-21723</a>: asyncio.Queue: support any type of number (ex: float) for the
maximum size. Patch written by Vajrasky Kok.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21711">bpo-21711</a>: support for “site-python” directories has now been removed from
the site module (it was deprecated in 3.4).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17552">bpo-17552</a>: new socket.sendfile() method allowing a file to be sent over a
socket by using high-performance os.sendfile() on UNIX. Patch by Giampaolo
Rodola’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18039">bpo-18039</a>: dbm.dump.open() now always creates a new database when the flag
has the value ‘n’.  Patch by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21326">bpo-21326</a>: Add a new is_closed() method to asyncio.BaseEventLoop.
run_forever() and run_until_complete() methods of asyncio.BaseEventLoop
now raise an exception if the event loop was closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21766">bpo-21766</a>: Prevent a security hole in CGIHTTPServer by URL unquoting paths
before checking for a CGI script at that path.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21310">bpo-21310</a>: Fixed possible resource leak in failed open().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21256">bpo-21256</a>: Printout of keyword args should be in deterministic order in a
mock function call. This will help to write better doctests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21677">bpo-21677</a>: Fixed chaining nonnormalized exceptions in io close() methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11709">bpo-11709</a>: Fix the pydoc.help function to not fail when sys.stdin is not a
valid file.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21515">bpo-21515</a>: tempfile.TemporaryFile now uses os.O_TMPFILE flag is available.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13223">bpo-13223</a>: Fix pydoc.writedoc so that the HTML documentation for methods
that use ‘self’ in the example code is generated correctly.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21463">bpo-21463</a>: In urllib.request, fix pruning of the FTP cache.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21618">bpo-21618</a>: The subprocess module could fail to close open fds that were
inherited by the calling process and already higher than POSIX resource
limits would otherwise allow.  On systems with a functioning /proc/self/fd
or /dev/fd interface the max is now ignored and all fds are closed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20383">bpo-20383</a>: Introduce importlib.util.module_from_spec() as the preferred
way to create a new module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21552">bpo-21552</a>: Fixed possible integer overflow of too long string lengths in
the tkinter module on 64-bit platforms.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14315">bpo-14315</a>: The zipfile module now ignores extra fields in the central
directory that are too short to be parsed instead of letting a
struct.unpack error bubble up as this “bad data” appears in many real
world zip files in the wild and is ignored by other zip tools.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13742">bpo-13742</a>: Added “key” and “reverse” parameters to heapq.merge(). (First
draft of patch contributed by Simon Sapin.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21402">bpo-21402</a>: tkinter.ttk now works when default root window is not set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue3015">bpo-3015</a>: _tkinter.create() now creates tkapp object with wantobject=1 by
default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10203">bpo-10203</a>: sqlite3.Row now truly supports sequence protocol.  In
particular it supports reverse() and negative indices.  Original patch by
Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18807">bpo-18807</a>: If copying (no symlinks) specified for a venv, then the python
interpreter aliases (python, python3) are now created by copying rather
than symlinking.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20197">bpo-20197</a>: Added support for the WebP image type in the imghdr module.
Patch by Fabrice Aneche and Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21513">bpo-21513</a>: Speedup some properties of IP addresses (IPv4Address,
IPv6Address) such as .is_private or .is_multicast.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21137">bpo-21137</a>: Improve the repr for threading.Lock() and its variants by
showing the “locked” or “unlocked” status.  Patch by Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21538">bpo-21538</a>: The plistlib module now supports loading of binary plist files
when reference or offset size is not a power of two.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21455">bpo-21455</a>: Add a default backlog to socket.listen().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21525">bpo-21525</a>: Most Tkinter methods which accepted tuples now accept lists
too.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22166">bpo-22166</a>: With the assistance of a new internal _codecs._forget_codec
helping function, test_codecs now clears the encoding caches to avoid the
appearance of a reference leak</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22236">bpo-22236</a>: Tkinter tests now don’t reuse default root window.  New root
window is created for every test class.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10744">bpo-10744</a>: Fix PEP 3118 format strings on ctypes objects with a nontrivial
shape.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20826">bpo-20826</a>: Optimize ipaddress.collapse_addresses().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21487">bpo-21487</a>: Optimize ipaddress.summarize_address_range() and
ipaddress.{IPv4Network,IPv6Network}.subnets().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21486">bpo-21486</a>: Optimize parsing of netmasks in ipaddress.IPv4Network and
ipaddress.IPv6Network.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13916">bpo-13916</a>: Disallowed the surrogatepass error handler for non UTF-*
encodings.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20998">bpo-20998</a>: Fixed re.fullmatch() of repeated single character pattern with
ignore case. Original patch by Matthew Barnett.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21075">bpo-21075</a>: fileinput.FileInput now reads bytes from standard stream if
binary mode is specified.  Patch by Sam Kimbrel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19775">bpo-19775</a>: Add a samefile() method to pathlib Path objects.  Initial patch
by Vajrasky Kok.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21226">bpo-21226</a>: Set up modules properly in PyImport_ExecCodeModuleObject (and
friends).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21398">bpo-21398</a>: Fix a unicode error in the pydoc pager when the documentation
contains characters not encodable to the stdout encoding.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16531">bpo-16531</a>: ipaddress.IPv4Network and ipaddress.IPv6Network now accept an
(address, netmask) tuple argument, so as to easily construct network
objects from existing addresses.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21156">bpo-21156</a>: importlib.abc.InspectLoader.source_to_code() is now a
staticmethod.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21424">bpo-21424</a>: Simplified and optimized heaqp.nlargest() and nmsmallest() to
make fewer tuple comparisons.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21396">bpo-21396</a>: Fix TextIOWrapper(…, write_through=True) to not force a
flush() on the underlying binary stream.  Patch by akira.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18314">bpo-18314</a>: Unlink now removes junctions on Windows. Patch by Kim Gräsman</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21088">bpo-21088</a>: Bugfix for curses.window.addch() regression in 3.4.0. In
porting to Argument Clinic, the first two arguments were reversed.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21407">bpo-21407</a>: _decimal: The module now supports function signatures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10650">bpo-10650</a>: Remove the non-standard ‘watchexp’ parameter from the
Decimal.quantize() method in the Python version.  It had never been
present in the C version.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21469">bpo-21469</a>: Reduced the risk of false positives in robotparser by checking
to make sure that robots.txt has been read or does not exist prior to
returning True in can_fetch().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19414">bpo-19414</a>: Have the OrderedDict mark deleted links as unusable. This gives
an early failure if the link is deleted during iteration.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21421">bpo-21421</a>: Add __slots__ to the MappingViews ABC. Patch by Josh Rosenberg.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21101">bpo-21101</a>: Eliminate double hashing in the C speed-up code for
collections.Counter().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21321">bpo-21321</a>: itertools.islice() now releases the reference to the source
iterator when the slice is exhausted.  Patch by Anton Afanasyev.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21057">bpo-21057</a>: TextIOWrapper now allows the underlying binary stream’s read()
or read1() method to return an arbitrary bytes-like object (such as a
memoryview). Patch by Nikolaus Rath.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20951">bpo-20951</a>: SSLSocket.send() now raises either SSLWantReadError or
SSLWantWriteError on a non-blocking socket if the operation would block.
Previously, it would return 0.  Patch by Nikolaus Rath.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13248">bpo-13248</a>: removed previously deprecated asyncore.dispatcher __getattr__
cheap inheritance hack.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9815">bpo-9815</a>: assertRaises now tries to clear references to local variables in
the exception’s traceback.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19940">bpo-19940</a>: ssl.cert_time_to_seconds() now interprets the given time string
in the UTC timezone (as specified in RFC 5280), not the local timezone.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13204">bpo-13204</a>: Calling sys.flags.__new__ would crash the interpreter, now it
raises a TypeError.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19385">bpo-19385</a>: Make operations on a closed dbm.dumb database always raise the
same exception.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21207">bpo-21207</a>: Detect when the os.urandom cached fd has been closed or
replaced, and open it anew.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21291">bpo-21291</a>: subprocess’s Popen.wait() is now thread safe so that multiple
threads may be calling wait() or poll() on a Popen instance at the same
time without losing the Popen.returncode value.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21127">bpo-21127</a>: Path objects can now be instantiated from str subclass
instances (such as <code class="docutils literal notranslate"><span class="pre">numpy.str_</span></code>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15002">bpo-15002</a>: urllib.response object to use _TemporaryFileWrapper (and
_TemporaryFileCloser) facility. Provides a better way to handle file
descriptor close. Patch contributed by Christian Theune.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12220">bpo-12220</a>: mindom now raises a custom ValueError indicating it doesn’t
support spaces in URIs instead of letting a ‘split’ ValueError bubble up.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21068">bpo-21068</a>: The ssl.PROTOCOL* constants are now enum members.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21276">bpo-21276</a>: posixmodule: Don’t define USE_XATTRS on KFreeBSD and the Hurd.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21262">bpo-21262</a>: New method assert_not_called for Mock. It raises AssertionError
if the mock has been called.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21238">bpo-21238</a>: New keyword argument <code class="xref py py-obj docutils literal notranslate"><span class="pre">unsafe</span></code> to Mock. It raises
<a class="reference internal" href="../library/exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AttributeError</span></code></a> incase of an attribute startswith assert or assret.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20896">bpo-20896</a>: ssl.get_server_certificate() now uses PROTOCOL_SSLv23, not
PROTOCOL_SSLv3, for maximum compatibility.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21239">bpo-21239</a>: patch.stopall() didn’t work deterministically when the same
name was patched more than once.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21203">bpo-21203</a>: Updated fileConfig and dictConfig to remove inconsistencies.
Thanks to Jure Koren for the patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21222">bpo-21222</a>: Passing name keyword argument to mock.create_autospec now
works.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21197">bpo-21197</a>: Add lib64 -&gt; lib symlink in venvs on 64-bit non-OS X POSIX.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17498">bpo-17498</a>: Some SMTP servers disconnect after certain errors, violating
strict RFC conformance.  Instead of losing the error code when we issue
the subsequent RSET, smtplib now returns the error code and defers raising
the SMTPServerDisconnected error until the next command is issued.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17826">bpo-17826</a>: setting an iterable side_effect on a mock function created by
create_autospec now works. Patch by Kushal Das.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue7776">bpo-7776</a>: Fix <code class="docutils literal notranslate"><span class="pre">Host:</span></code> header and reconnection when using
http.client.HTTPConnection.set_tunnel(). Patch by Nikolaus Rath.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20968">bpo-20968</a>: unittest.mock.MagicMock now supports division. Patch by
Johannes Baiter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21529">bpo-21529</a>: Fix arbitrary memory access in JSONDecoder.raw_decode with a
negative second parameter. Bug reported by Guido Vranken. (See also:
CVE-2014-4616)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21169">bpo-21169</a>: getpass now handles non-ascii characters that the input stream
encoding cannot encode by re-encoding using the replace error handler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21171">bpo-21171</a>: Fixed undocumented filter API of the rot13 codec. Patch by
Berker Peksag.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20539">bpo-20539</a>: Improved math.factorial error message for large positive inputs
and changed exception type (OverflowError -&gt; ValueError) for large
negative inputs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21172">bpo-21172</a>: isinstance check relaxed from dict to collections.Mapping.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21155">bpo-21155</a>: asyncio.EventLoop.create_unix_server() now raises a ValueError
if path and sock are specified at the same time.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21136">bpo-21136</a>: Avoid unnecessary normalization of Fractions resulting from
power and other operations.  Patch by Raymond Hettinger.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17621">bpo-17621</a>: Introduce importlib.util.LazyLoader.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21076">bpo-21076</a>: signal module constants were turned into enums. Patch by
Giampaolo Rodola’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20636">bpo-20636</a>: Improved the repr of Tkinter widgets.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19505">bpo-19505</a>: The items, keys, and values views of OrderedDict now support
reverse iteration using reversed().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21149">bpo-21149</a>: Improved thread-safety in logging cleanup during interpreter
shutdown. Thanks to Devin Jeanpierre for the patch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21058">bpo-21058</a>: Fix a leak of file descriptor in
<a class="reference internal" href="../library/tempfile.html#tempfile.NamedTemporaryFile" title="tempfile.NamedTemporaryFile"><code class="xref py py-func docutils literal notranslate"><span class="pre">tempfile.NamedTemporaryFile()</span></code></a>, close the file descriptor if
<a class="reference internal" href="../library/io.html#io.open" title="io.open"><code class="xref py py-func docutils literal notranslate"><span class="pre">io.open()</span></code></a> fails</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21200">bpo-21200</a>: Return None from pkgutil.get_loader() when __spec__ is missing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21013">bpo-21013</a>: Enhance ssl.create_default_context() when used for server side
sockets to provide better security by default.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20145">bpo-20145</a>: <code class="xref py py-obj docutils literal notranslate"><span class="pre">assertRaisesRegex</span></code> and <code class="xref py py-obj docutils literal notranslate"><span class="pre">assertWarnsRegex</span></code> now raise a
TypeError if the second argument is not a string or compiled regex.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20633">bpo-20633</a>: Replace relative import by absolute import.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20980">bpo-20980</a>: Stop wrapping exception when using ThreadPool.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21082">bpo-21082</a>: In os.makedirs, do not set the process-wide umask. Note this
changes behavior of makedirs when exist_ok=True.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20990">bpo-20990</a>: Fix issues found by pyflakes for multiprocessing.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21015">bpo-21015</a>: SSL contexts will now automatically select an elliptic curve
for ECDH key exchange on OpenSSL 1.0.2 and later, and otherwise default to
“prime256v1”.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21000">bpo-21000</a>: Improve the command-line interface of json.tool.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20995">bpo-20995</a>: Enhance default ciphers used by the ssl module to enable better
security and prioritize perfect forward secrecy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20884">bpo-20884</a>: Don’t assume that __file__ is defined on importlib.__init__.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21499">bpo-21499</a>: Ignore __builtins__ in several test_importlib.test_api tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20627">bpo-20627</a>: xmlrpc.client.ServerProxy is now a context manager.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19165">bpo-19165</a>: The formatter module now raises DeprecationWarning instead of
PendingDeprecationWarning.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue13936">bpo-13936</a>: Remove the ability of datetime.time instances to be considered
false in boolean contexts.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18931">bpo-18931</a>: selectors module now supports /dev/poll on Solaris. Patch by
Giampaolo Rodola’.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19977">bpo-19977</a>: When the <code class="docutils literal notranslate"><span class="pre">LC_TYPE</span></code> locale is the POSIX locale (<code class="docutils literal notranslate"><span class="pre">C</span></code> locale),
<a class="reference internal" href="../library/sys.html#sys.stdin" title="sys.stdin"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.stdin</span></code></a> and <a class="reference internal" href="../library/sys.html#sys.stdout" title="sys.stdout"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.stdout</span></code></a> are now using the
<code class="docutils literal notranslate"><span class="pre">surrogateescape</span></code> error handler, instead of the <code class="docutils literal notranslate"><span class="pre">strict</span></code> error
handler.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20574">bpo-20574</a>: Implement incremental decoder for cp65001 code (Windows code
page 65001, Microsoft UTF-8).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20879">bpo-20879</a>: Delay the initialization of encoding and decoding tables for
base32, ascii85 and base85 codecs in the base64 module, and delay the
initialization of the unquote_to_bytes() table of the urllib.parse module,
to not waste memory if these modules are not used.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19157">bpo-19157</a>: Include the broadcast address in the usuable hosts for IPv6 in
ipaddress.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11599">bpo-11599</a>: When an external command (e.g. compiler) fails, distutils now
prints out the whole command line (instead of just the command name) if
the environment variable DISTUTILS_DEBUG is set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4931">bpo-4931</a>: distutils should not produce unhelpful “error: None” messages
anymore. distutils.util.grok_environment_error is kept but doc-deprecated.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20875">bpo-20875</a>: Prevent possible gzip “‘read’ is not defined” NameError. Patch
by Claudiu Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11558">bpo-11558</a>: <code class="docutils literal notranslate"><span class="pre">email.message.Message.attach</span></code> now returns a more useful
error message if <code class="docutils literal notranslate"><span class="pre">attach</span></code> is called on a message for which
<code class="docutils literal notranslate"><span class="pre">is_multipart</span></code> is False.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20283">bpo-20283</a>: RE pattern methods now accept the string keyword parameters as
documented. The pattern and source keyword parameters are left as
deprecated aliases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20778">bpo-20778</a>: Fix modulefinder to work with bytecode-only modules.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20791">bpo-20791</a>: copy.copy() now doesn’t make a copy when the input is a bytes
object. Initial patch by Peter Otten.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19748">bpo-19748</a>: On AIX, time.mktime() now raises an OverflowError for year
outsize range [1902; 2037].</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19573">bpo-19573</a>: inspect.signature: Use enum for parameter kind constants.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20726">bpo-20726</a>: inspect.signature: Make Signature and Parameter picklable.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17373">bpo-17373</a>: Add inspect.Signature.from_callable method.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20378">bpo-20378</a>: Improve repr of inspect.Signature and inspect.Parameter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20816">bpo-20816</a>: Fix inspect.getcallargs() to raise correct TypeError for
missing keyword-only arguments. Patch by Jeremiah Lowin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20817">bpo-20817</a>: Fix inspect.getcallargs() to fail correctly if more than 3
arguments are missing. Patch by Jeremiah Lowin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6676">bpo-6676</a>: Ensure a meaningful exception is raised when attempting to parse
more than one XML document per pyexpat xmlparser instance. (Original
patches by Hirokazu Yamamoto and Amaury Forgeot d’Arc, with suggested
wording by David Gutteridge)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21117">bpo-21117</a>: Fix inspect.signature to better support functools.partial. Due
to the specifics of functools.partial implementation,
positional-or-keyword arguments passed as keyword arguments become
keyword-only.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20334">bpo-20334</a>: inspect.Signature and inspect.Parameter are now hashable.
Thanks to Antony Lee for bug reports and suggestions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15916">bpo-15916</a>: doctest.DocTestSuite returns an empty unittest.TestSuite
instead of raising ValueError if it finds no tests</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21209">bpo-21209</a>: Fix asyncio.tasks.CoroWrapper to workaround a bug in yield-from
implementation in CPythons prior to 3.4.1.</p></li>
<li><p>asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream
<a class="reference external" href="https://bugs.python.org/issue163">bpo-163</a>).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21311">bpo-21311</a>: Avoid exception in _osx_support with non-standard compiler
configurations. Patch by John Szakmeister.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11571">bpo-11571</a>: Ensure that the turtle window becomes the topmost window when
launched on OS X.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21801">bpo-21801</a>: Validate that __signature__ is None or an instance of
Signature.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21923">bpo-21923</a>: Prevent AttributeError in
distutils.sysconfig.customize_compiler due to possible uninitialized
_config_vars.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21323">bpo-21323</a>: Fix http.server to again handle scripts in CGI subdirectories,
broken by the fix for security <a class="reference external" href="https://bugs.python.org/issue19435">bpo-19435</a>.  Patch by Zach Byrne.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22733">bpo-22733</a>: Fix ffi_prep_args not zero-extending argument values correctly
on 64-bit Windows.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23302">bpo-23302</a>: Default to TCP_NODELAY=1 upon establishing an HTTPConnection.
Removed use of hard-coded MSS as it’s an optimization that’s no longer
needed with Nagle disabled.</p></li>
</ul>
</div>
<div class="section" id="id270">
<h3>IDLE<a class="headerlink" href="#id270" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue20577">bpo-20577</a>: Configuration of the max line length for the FormatParagraph
extension has been moved from the General tab of the Idle preferences
dialog to the FormatParagraph tab of the Config Extensions dialog. Patch
by Tal Einat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16893">bpo-16893</a>: Update Idle doc chapter to match current Idle and add new
information.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue3068">bpo-3068</a>: Add Idle extension configuration dialog to Options menu. Changes
are written to HOME/.idlerc/config-extensions.cfg. Original patch by Tal
Einat.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16233">bpo-16233</a>: A module browser (File : Class Browser, Alt+C) requires an
editor window with a filename.  When Class Browser is requested otherwise,
from a shell, output window, or ‘Untitled’ editor, Idle no longer displays
an error box. It now pops up an Open Module box (Alt+M). If a valid name
is entered and a module is opened, a corresponding browser is also opened.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue4832">bpo-4832</a>: Save As to type Python files automatically adds .py to the name
you enter (even if your system does not display it).  Some systems
automatically add .txt when type is Text files.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21986">bpo-21986</a>: Code objects are not normally pickled by the pickle module. To
match this, they are no longer pickled when running under Idle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17390">bpo-17390</a>: Adjust Editor window title; remove ‘Python’, move version to
end.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue14105">bpo-14105</a>: Idle debugger breakpoints no longer disappear when inserting or
deleting lines.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17172">bpo-17172</a>: Turtledemo can now be run from Idle. Currently, the entry is on
the Help menu, but it may move to Run. Patch by Ramchandra Apt and Lita
Cho.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21765">bpo-21765</a>: Add support for non-ascii identifiers to HyperParser.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21940">bpo-21940</a>: Add unittest for WidgetRedirector. Initial patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18592">bpo-18592</a>: Add unittest for SearchDialogBase. Patch by Phil Webster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21694">bpo-21694</a>: Add unittest for ParenMatch. Patch by Saimadhav Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21686">bpo-21686</a>: add unittest for HyperParser. Original patch by Saimadhav
Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue12387">bpo-12387</a>: Add missing upper(lower)case versions of default Windows key
bindings for Idle so Caps Lock does not disable them. Patch by Roger
Serwy.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21695">bpo-21695</a>: Closing a Find-in-files output window while the search is still
in progress no longer closes Idle.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18910">bpo-18910</a>: Add unittest for textView. Patch by Phil Webster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18292">bpo-18292</a>: Add unittest for AutoExpand. Patch by Saihadhav Heblikar.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18409">bpo-18409</a>: Add unittest for AutoComplete. Patch by Phil Webster.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21477">bpo-21477</a>: htest.py - Improve framework, complete set of tests. Patches by
Saimadhav Heblikar</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18104">bpo-18104</a>: Add idlelib/idle_test/htest.py with a few sample tests to begin
consolidating and improving human-validated tests of Idle. Change other
files as needed to work with htest.  Running the module as __main__ runs
all tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21139">bpo-21139</a>: Change default paragraph width to 72, the PEP 8 recommendation.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21284">bpo-21284</a>: Paragraph reformat test passes after user changes reformat
width.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17654">bpo-17654</a>: Ensure IDLE menus are customized properly on OS X for
non-framework builds and for all variants of Tk.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23180">bpo-23180</a>: Rename IDLE “Windows” menu item to “Window”. Patch by Al
Sweigart.</p></li>
</ul>
</div>
<div class="section" id="id271">
<h3>Build<a class="headerlink" href="#id271" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue15506">bpo-15506</a>: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the
configure script.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22935">bpo-22935</a>: Allow the ssl module to be compiled if openssl doesn’t support
SSL 3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22592">bpo-22592</a>: Drop support of the Borland C compiler to build Python. The
distutils module still supports it to build extensions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22591">bpo-22591</a>: Drop support of MS-DOS, especially of the DJGPP compiler
(MS-DOS port of GCC).</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16537">bpo-16537</a>: Check whether self.extensions is empty in setup.py. Patch by
Jonathan Hosmer.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22359">bpo-22359</a>: Remove incorrect uses of recursive make.  Patch by Jonas
Wagner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21958">bpo-21958</a>: Define HAVE_ROUND when building with Visual Studio 2013 and
above.  Patch by Zachary Turner.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18093">bpo-18093</a>: the programs that embed the CPython runtime are now in a
separate “Programs” directory, rather than being kept in the Modules
directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15759">bpo-15759</a>: “make suspicious”, “make linkcheck” and “make doctest” in Doc/
now display special message when and only when there are failures.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21141">bpo-21141</a>: The Windows build process no longer attempts to find Perl,
instead relying on OpenSSL source being configured and ready to build.
The <code class="docutils literal notranslate"><span class="pre">PCbuild\build_ssl.py</span></code> script has been re-written and re-named to
<code class="docutils literal notranslate"><span class="pre">PCbuild\prepare_ssl.py</span></code>, and takes care of configuring OpenSSL source
for both 32 and 64 bit platforms.  OpenSSL sources obtained from
svn.python.org will always be pre-configured and ready to build.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21037">bpo-21037</a>: Add a build option to enable AddressSanitizer support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19962">bpo-19962</a>: The Windows build process now creates “python.bat” in the root
of the source tree, which passes all arguments through to the most
recently built interpreter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21285">bpo-21285</a>: Refactor and fix curses configure check to always search in a
ncursesw directory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15234">bpo-15234</a>: For BerkelyDB and Sqlite, only add the found library and
include directories if they aren’t already being searched. This avoids an
explicit runtime library dependency.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17861">bpo-17861</a>: Tools/scripts/generate_opcode_h.py automatically regenerates
Include/opcode.h from Lib/opcode.py if the latter gets any change.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20644">bpo-20644</a>: OS X installer build support for documentation build changes in
3.4.1: assume externally supplied sphinx-build is available in /usr/bin.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20022">bpo-20022</a>: Eliminate use of deprecated bundlebuilder in OS X builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue15968">bpo-15968</a>: Incorporated Tcl, Tk, and Tix builds into the Windows build
solution.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17095">bpo-17095</a>: Fix Modules/Setup <em>shared</em> support.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21811">bpo-21811</a>: Anticipated fixes to support OS X versions &gt; 10.9.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21166">bpo-21166</a>: Prevent possible segfaults and other random failures of python
&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD <code class="docutils literal notranslate"><span class="pre">--generate-posix-vars</span></code> in pybuilddir.txt build target.
======= –generate-posix-vars in pybuilddir.txt build target. &gt;&gt;&gt;&gt;&gt;&gt;&gt;
3f819ca138… <a class="reference external" href="https://bugs.python.org/issue35110">bpo-35110</a>: Fix unintentional spaces around hyphens and
dashes. (GH-10231)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18096">bpo-18096</a>: Fix library order returned by python-config.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17219">bpo-17219</a>: Add library build dir for Python extension cross-builds.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22919">bpo-22919</a>: Windows build updated to support VC 14.0 (Visual Studio 2015),
which will be used for the official release.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21236">bpo-21236</a>: Build _msi.pyd with cabinet.lib instead of fci.lib</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17128">bpo-17128</a>: Use private version of OpenSSL for OS X 10.5+ installer.</p></li>
</ul>
</div>
<div class="section" id="id272">
<h3>C API<a class="headerlink" href="#id272" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue14203">bpo-14203</a>: Remove obsolete support for view==NULL in PyBuffer_FillInfo(),
bytearray_getbuffer(), bytesiobuf_getbuffer() and array_buffer_getbuf().
All functions now raise BufferError in that case.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22445">bpo-22445</a>: PyBuffer_IsContiguous() now implements precise contiguity
tests, compatible with NumPy’s NPY_RELAXED_STRIDES_CHECKING compilation
flag.  Previously the function reported false negatives for corner cases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22079">bpo-22079</a>: PyType_Ready() now checks that statically allocated type has no
dynamically allocated bases.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22453">bpo-22453</a>: Removed non-documented macro PyObject_REPR().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18395">bpo-18395</a>: Rename <code class="docutils literal notranslate"><span class="pre">_Py_char2wchar()</span></code> to <a class="reference internal" href="../c-api/sys.html#c.Py_DecodeLocale" title="Py_DecodeLocale"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_DecodeLocale()</span></code></a>,
rename <code class="docutils literal notranslate"><span class="pre">_Py_wchar2char()</span></code> to <a class="reference internal" href="../c-api/sys.html#c.Py_EncodeLocale" title="Py_EncodeLocale"><code class="xref c c-func docutils literal notranslate"><span class="pre">Py_EncodeLocale()</span></code></a>, and document
these functions.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21233">bpo-21233</a>: Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(),
PyObject_Calloc(), _PyObject_GC_Calloc(). bytes(int) is now using
<code class="docutils literal notranslate"><span class="pre">calloc()</span></code> instead of <code class="docutils literal notranslate"><span class="pre">malloc()</span></code> for large objects which is faster and
use less memory.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20942">bpo-20942</a>: PyImport_ImportFrozenModuleObject() no longer sets __file__ to
match what importlib does; this affects _frozen_importlib as well as any
module loaded using imp.init_frozen().</p></li>
</ul>
</div>
<div class="section" id="id273">
<h3>Documentation<a class="headerlink" href="#id273" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue19548">bpo-19548</a>: Update the codecs module documentation to better cover the
distinction between text encodings and other codecs, together with other
clarifications. Patch by Martin Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22394">bpo-22394</a>: Doc/Makefile now supports <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">venv</span> <span class="pre">PYTHON=../python</span></code> to
create a venv for generating the documentation, e.g., <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">html</span>
<span class="pre">PYTHON=venv/bin/python3</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21514">bpo-21514</a>: The documentation of the json module now refers to new JSON RFC
7159 instead of obsoleted RFC 4627.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21777">bpo-21777</a>: The binary sequence methods on bytes and bytearray are now
documented explicitly, rather than assuming users will be able to derive
the expected behaviour from the behaviour of the corresponding str
methods.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue6916">bpo-6916</a>: undocument deprecated asynchat.fifo class.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17386">bpo-17386</a>: Expanded functionality of the <code class="docutils literal notranslate"><span class="pre">Doc/make.bat</span></code> script to make
it much more comparable to <code class="docutils literal notranslate"><span class="pre">Doc/Makefile</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21312">bpo-21312</a>: Update the thread_foobar.h template file to include newer
threading APIs. Patch by Jack McCracken.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21043">bpo-21043</a>: Remove the recommendation for specific CA organizations and to
mention the ability to load the OS certificates.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20765">bpo-20765</a>: Add missing documentation for PurePath.with_name() and
PurePath.with_suffix().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19407">bpo-19407</a>: New package installation and distribution guides based on the
Python Packaging Authority tools. Existing guides have been retained as
legacy links from the distutils docs, as they still contain some required
reference material for tool developers that isn’t recorded anywhere else.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19697">bpo-19697</a>: Document cases where __main__.__spec__ is None.</p></li>
</ul>
</div>
<div class="section" id="id274">
<h3>Tests<a class="headerlink" href="#id274" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue18982">bpo-18982</a>: Add tests for CLI of the calendar module.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19548">bpo-19548</a>: Added some additional checks to test_codecs to ensure that
statements in the updated documentation remain accurate. Patch by Martin
Panter.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22838">bpo-22838</a>: All test_re tests now work with unittest test discovery.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22173">bpo-22173</a>: Update lib2to3 tests to use unittest test discovery.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16000">bpo-16000</a>: Convert test_curses to use unittest.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21456">bpo-21456</a>: Skip two tests in test_urllib2net.py if _ssl module not
present. Patch by Remi Pointel.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20746">bpo-20746</a>: Fix test_pdb to run in refleak mode (-R).  Patch by Xavier de
Gaye.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22060">bpo-22060</a>: test_ctypes has been somewhat cleaned up and simplified; it now
uses unittest test discovery to find its tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22104">bpo-22104</a>: regrtest.py no longer holds a reference to the suite of tests
loaded from test modules that don’t define test_main().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22111">bpo-22111</a>: Assorted cleanups in test_imaplib.  Patch by Milan Oberkirch.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22002">bpo-22002</a>: Added <code class="docutils literal notranslate"><span class="pre">load_package_tests</span></code> function to test.support and used
it to implement/augment test discovery in test_asyncio, test_email,
test_importlib, test_json, and test_tools.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21976">bpo-21976</a>: Fix test_ssl to accept LibreSSL version strings.  Thanks to
William Orr.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21918">bpo-21918</a>: Converted test_tools from a module to a package containing
separate test files for each tested script.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue9554">bpo-9554</a>: Use modern unittest features in test_argparse. Initial patch by
Denver Coneybeare and Radu Voicilas.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20155">bpo-20155</a>: Changed HTTP method names in failing tests in test_httpservers
so that packet filtering software (specifically Windows Base Filtering
Engine) does not interfere with the transaction semantics expected by the
tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19493">bpo-19493</a>: Refactored the ctypes test package to skip tests explicitly
rather than silently.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18492">bpo-18492</a>: All resources are now allowed when tests are not run by
regrtest.py.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21634">bpo-21634</a>: Fix pystone micro-benchmark: use floor division instead of true
division to benchmark integers instead of floating point numbers. Set
pystone version to 1.2. Patch written by Lennart Regebro.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21605">bpo-21605</a>: Added tests for Tkinter images.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21493">bpo-21493</a>: Added test for ntpath.expanduser().  Original patch by Claudiu
Popa.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue19925">bpo-19925</a>: Added tests for the spwd module. Original patch by Vajrasky
Kok.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21522">bpo-21522</a>: Added Tkinter tests for Listbox.itemconfigure(),
PanedWindow.paneconfigure(), and Menu.entryconfigure().</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17756">bpo-17756</a>: Fix test_code test when run from the installed location.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17752">bpo-17752</a>: Fix distutils tests when run from the installed location.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18604">bpo-18604</a>: Consolidated checks for GUI availability.  All platforms now at
least check whether Tk can be instantiated when the GUI resource is
requested.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21275">bpo-21275</a>: Fix a socket test on KFreeBSD.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21223">bpo-21223</a>: Pass test_site/test_startup_imports when some of the extensions
are built as builtins.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20635">bpo-20635</a>: Added tests for Tk geometry managers.</p></li>
<li><p>Add test case for freeze.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20743">bpo-20743</a>: Fix a reference leak in test_tcl.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21097">bpo-21097</a>: Move test_namespace_pkgs into test_importlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21503">bpo-21503</a>: Use test_both() consistently in test_importlib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20939">bpo-20939</a>: Avoid various network test failures due to new redirect of
<a class="reference external" href="http://www.python.org/">http://www.python.org/</a> to <a class="reference external" href="https://www.python.org">https://www.python.org</a>: use
<a class="reference external" href="http://www.example.com">http://www.example.com</a> instead.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20668">bpo-20668</a>: asyncio tests no longer rely on tests.txt file. (Patch by
Vajrasky Kok)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21093">bpo-21093</a>: Prevent failures of ctypes test_macholib on OS X if a copy of
libz exists in $HOME/lib or /usr/local/lib.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22770">bpo-22770</a>: Prevent some Tk segfaults on OS X when running gui tests.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23211">bpo-23211</a>: Workaround test_logging failure on some OS X 10.6 systems.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue23345">bpo-23345</a>: Prevent test_ssl failures with large OpenSSL patch level values
(like 0.9.8zc).</p></li>
</ul>
</div>
<div class="section" id="id275">
<h3>Tools/Demos<a class="headerlink" href="#id275" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue22314">bpo-22314</a>: pydoc now works when the LINES environment variable is set.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22615">bpo-22615</a>: Argument Clinic now supports the “type” argument for the int
converter. This permits using the int converter with enums and typedefs.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20076">bpo-20076</a>: The makelocalealias.py script no longer ignores UTF-8 mapping.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20079">bpo-20079</a>: The makelocalealias.py script now can parse the SUPPORTED file
from glibc sources and supports command line options for source paths.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22201">bpo-22201</a>: Command-line interface of the zipfile module now correctly
extracts ZIP files with directory entries.  Patch by Ryan Wilson.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22120">bpo-22120</a>: For functions using an unsigned integer return converter,
Argument Clinic now generates a cast to that type for the comparison to -1
in the generated code.  (This suppresses a compilation warning.)</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue18974">bpo-18974</a>: Tools/scripts/diff.py now uses argparse instead of optparse.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21906">bpo-21906</a>: Make Tools/scripts/md5sum.py work in Python 3. Patch by Zachary
Ware.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21629">bpo-21629</a>: Fix Argument Clinic’s “–converters” feature.</p></li>
<li><p>Add support for <code class="docutils literal notranslate"><span class="pre">yield</span> <span class="pre">from</span></code> to 2to3.</p></li>
<li><p>Add support for the PEP 465 matrix multiplication operator to 2to3.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue16047">bpo-16047</a>: Fix module exception list and __file__ handling in freeze.
Patch by Meador Inge.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue11824">bpo-11824</a>: Consider ABI tags in freeze. Patch by Meador Inge.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue20535">bpo-20535</a>: PYTHONWARNING no longer affects the run_tests.py script. Patch
by Arfrever Frehtes Taifersar Arahesis.</p></li>
</ul>
</div>
<div class="section" id="id276">
<h3>Windows<a class="headerlink" href="#id276" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p><a class="reference external" href="https://bugs.python.org/issue23260">bpo-23260</a>: Update Windows installer</p></li>
<li><p>The bundled version of Tcl/Tk has been updated to 8.6.3.  The most visible
result of this change is the addition of new native file dialogs when
running on Windows Vista or newer.  See Tcl/Tk’s TIP 432 for more
information.  Also, this version of Tcl/Tk includes support for Windows
10.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17896">bpo-17896</a>: The Windows build scripts now expect external library sources
to be in <code class="docutils literal notranslate"><span class="pre">PCbuild\..\externals</span></code> rather than <code class="docutils literal notranslate"><span class="pre">PCbuild\..\..</span></code>.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue17717">bpo-17717</a>: The Windows build scripts now use a copy of NASM pulled from
svn.python.org to build OpenSSL.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue21907">bpo-21907</a>: Improved the batch scripts provided for building Python.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22644">bpo-22644</a>: The bundled version of OpenSSL has been updated to 1.0.1j.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue10747">bpo-10747</a>: Use versioned labels in the Windows start menu. Patch by Olive
Kilburn.</p></li>
<li><p><a class="reference external" href="https://bugs.python.org/issue22980">bpo-22980</a>: .pyd files with a version and platform tag (for example,
“.cp35-win32.pyd”) will now be loaded in preference to those without tags.</p></li>
</ul>
<p><strong>(For information about older versions, consult the HISTORY file.)</strong></p>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Changelog</a><ul>
<li><a class="reference internal" href="#python-next">Python next</a><ul>
<li><a class="reference internal" href="#security">Security</a></li>
<li><a class="reference internal" href="#core-and-builtins">Core and Builtins</a></li>
<li><a class="reference internal" href="#library">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-10-final">Python 3.6.10 final</a><ul>
<li><a class="reference internal" href="#macos">macOS</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-10-release-candidate-1">Python 3.6.10 release candidate 1</a><ul>
<li><a class="reference internal" href="#id2">Security</a></li>
<li><a class="reference internal" href="#id3">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-9-final">Python 3.6.9 final</a><ul>
<li><a class="reference internal" href="#id4">Library</a></li>
<li><a class="reference internal" href="#id5">macOS</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-9-release-candidate-1">Python 3.6.9 release candidate 1</a><ul>
<li><a class="reference internal" href="#id6">Security</a></li>
<li><a class="reference internal" href="#id7">Library</a></li>
<li><a class="reference internal" href="#documentation">Documentation</a></li>
<li><a class="reference internal" href="#tests">Tests</a></li>
<li><a class="reference internal" href="#id8">macOS</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-8-final">Python 3.6.8 final</a><ul>
<li><a class="reference internal" href="#id9">Library</a></li>
<li><a class="reference internal" href="#build">Build</a></li>
<li><a class="reference internal" href="#c-api">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-8-release-candidate-1">Python 3.6.8 release candidate 1</a><ul>
<li><a class="reference internal" href="#id10">Security</a></li>
<li><a class="reference internal" href="#id11">Core and Builtins</a></li>
<li><a class="reference internal" href="#id12">Library</a></li>
<li><a class="reference internal" href="#id13">Documentation</a></li>
<li><a class="reference internal" href="#id14">Tests</a></li>
<li><a class="reference internal" href="#id15">Build</a></li>
<li><a class="reference internal" href="#windows">Windows</a></li>
<li><a class="reference internal" href="#id16">macOS</a></li>
<li><a class="reference internal" href="#idle">IDLE</a></li>
<li><a class="reference internal" href="#tools-demos">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-7-final">Python 3.6.7 final</a></li>
<li><a class="reference internal" href="#python-3-6-7-release-candidate-2">Python 3.6.7 release candidate 2</a><ul>
<li><a class="reference internal" href="#id17">Core and Builtins</a></li>
<li><a class="reference internal" href="#id18">Library</a></li>
<li><a class="reference internal" href="#id19">Documentation</a></li>
<li><a class="reference internal" href="#id20">Tests</a></li>
<li><a class="reference internal" href="#id21">macOS</a></li>
<li><a class="reference internal" href="#id22">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-7-release-candidate-1">Python 3.6.7 release candidate 1</a><ul>
<li><a class="reference internal" href="#id23">Security</a></li>
<li><a class="reference internal" href="#id24">Core and Builtins</a></li>
<li><a class="reference internal" href="#id25">Library</a></li>
<li><a class="reference internal" href="#id26">Documentation</a></li>
<li><a class="reference internal" href="#id27">Tests</a></li>
<li><a class="reference internal" href="#id28">Build</a></li>
<li><a class="reference internal" href="#id29">Windows</a></li>
<li><a class="reference internal" href="#id30">macOS</a></li>
<li><a class="reference internal" href="#id31">IDLE</a></li>
<li><a class="reference internal" href="#id32">Tools/Demos</a></li>
<li><a class="reference internal" href="#id33">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-6-final">Python 3.6.6 final</a></li>
<li><a class="reference internal" href="#python-3-6-6-release-candidate-1">Python 3.6.6 release candidate 1</a><ul>
<li><a class="reference internal" href="#id34">Core and Builtins</a></li>
<li><a class="reference internal" href="#id35">Library</a></li>
<li><a class="reference internal" href="#id36">Documentation</a></li>
<li><a class="reference internal" href="#id37">Tests</a></li>
<li><a class="reference internal" href="#id38">Build</a></li>
<li><a class="reference internal" href="#id39">Windows</a></li>
<li><a class="reference internal" href="#id40">macOS</a></li>
<li><a class="reference internal" href="#id41">IDLE</a></li>
<li><a class="reference internal" href="#id42">Tools/Demos</a></li>
<li><a class="reference internal" href="#id43">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-5-final">Python 3.6.5 final</a><ul>
<li><a class="reference internal" href="#id44">Tests</a></li>
<li><a class="reference internal" href="#id45">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-5-release-candidate-1">Python 3.6.5 release candidate 1</a><ul>
<li><a class="reference internal" href="#id46">Security</a></li>
<li><a class="reference internal" href="#id47">Core and Builtins</a></li>
<li><a class="reference internal" href="#id48">Library</a></li>
<li><a class="reference internal" href="#id49">Documentation</a></li>
<li><a class="reference internal" href="#id50">Tests</a></li>
<li><a class="reference internal" href="#id51">Build</a></li>
<li><a class="reference internal" href="#id52">Windows</a></li>
<li><a class="reference internal" href="#id53">macOS</a></li>
<li><a class="reference internal" href="#id54">IDLE</a></li>
<li><a class="reference internal" href="#id55">Tools/Demos</a></li>
<li><a class="reference internal" href="#id56">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-4-final">Python 3.6.4 final</a></li>
<li><a class="reference internal" href="#python-3-6-4-release-candidate-1">Python 3.6.4 release candidate 1</a><ul>
<li><a class="reference internal" href="#id57">Core and Builtins</a></li>
<li><a class="reference internal" href="#id58">Library</a></li>
<li><a class="reference internal" href="#id59">Documentation</a></li>
<li><a class="reference internal" href="#id60">Tests</a></li>
<li><a class="reference internal" href="#id61">Build</a></li>
<li><a class="reference internal" href="#id62">Windows</a></li>
<li><a class="reference internal" href="#id63">macOS</a></li>
<li><a class="reference internal" href="#id64">IDLE</a></li>
<li><a class="reference internal" href="#id65">Tools/Demos</a></li>
<li><a class="reference internal" href="#id66">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-3-final">Python 3.6.3 final</a><ul>
<li><a class="reference internal" href="#id67">Library</a></li>
<li><a class="reference internal" href="#id68">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-3-release-candidate-1">Python 3.6.3 release candidate 1</a><ul>
<li><a class="reference internal" href="#id69">Security</a></li>
<li><a class="reference internal" href="#id70">Core and Builtins</a></li>
<li><a class="reference internal" href="#id71">Library</a></li>
<li><a class="reference internal" href="#id72">Documentation</a></li>
<li><a class="reference internal" href="#id73">Tests</a></li>
<li><a class="reference internal" href="#id74">Build</a></li>
<li><a class="reference internal" href="#id75">Windows</a></li>
<li><a class="reference internal" href="#id76">IDLE</a></li>
<li><a class="reference internal" href="#id77">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-2-final">Python 3.6.2 final</a></li>
<li><a class="reference internal" href="#python-3-6-2-release-candidate-2">Python 3.6.2 release candidate 2</a><ul>
<li><a class="reference internal" href="#id78">Security</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-2-release-candidate-1">Python 3.6.2 release candidate 1</a><ul>
<li><a class="reference internal" href="#id79">Core and Builtins</a></li>
<li><a class="reference internal" href="#id80">Library</a></li>
<li><a class="reference internal" href="#id81">Security</a></li>
<li><a class="reference internal" href="#id82">Library</a></li>
<li><a class="reference internal" href="#id83">IDLE</a></li>
<li><a class="reference internal" href="#id84">C API</a></li>
<li><a class="reference internal" href="#id85">Build</a></li>
<li><a class="reference internal" href="#id86">Documentation</a></li>
<li><a class="reference internal" href="#id87">Tools/Demos</a></li>
<li><a class="reference internal" href="#id88">Tests</a></li>
<li><a class="reference internal" href="#id89">Windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-1-final">Python 3.6.1 final</a><ul>
<li><a class="reference internal" href="#id90">Core and Builtins</a></li>
<li><a class="reference internal" href="#id91">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-1-release-candidate-1">Python 3.6.1 release candidate 1</a><ul>
<li><a class="reference internal" href="#id92">Core and Builtins</a></li>
<li><a class="reference internal" href="#id93">Library</a></li>
<li><a class="reference internal" href="#id94">IDLE</a></li>
<li><a class="reference internal" href="#id95">Windows</a></li>
<li><a class="reference internal" href="#id96">C API</a></li>
<li><a class="reference internal" href="#id97">Documentation</a></li>
<li><a class="reference internal" href="#id98">Tests</a></li>
<li><a class="reference internal" href="#id99">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-final">Python 3.6.0 final</a></li>
<li><a class="reference internal" href="#python-3-6-0-release-candidate-2">Python 3.6.0 release candidate 2</a><ul>
<li><a class="reference internal" href="#id100">Core and Builtins</a></li>
<li><a class="reference internal" href="#id101">Tools/Demos</a></li>
<li><a class="reference internal" href="#id102">Windows</a></li>
<li><a class="reference internal" href="#id103">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-release-candidate-1">Python 3.6.0 release candidate 1</a><ul>
<li><a class="reference internal" href="#id104">Core and Builtins</a></li>
<li><a class="reference internal" href="#id105">Library</a></li>
<li><a class="reference internal" href="#id106">C API</a></li>
<li><a class="reference internal" href="#id107">Documentation</a></li>
<li><a class="reference internal" href="#id108">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-beta-4">Python 3.6.0 beta 4</a><ul>
<li><a class="reference internal" href="#id109">Core and Builtins</a></li>
<li><a class="reference internal" href="#id110">Library</a></li>
<li><a class="reference internal" href="#id111">Documentation</a></li>
<li><a class="reference internal" href="#id112">Tests</a></li>
<li><a class="reference internal" href="#id113">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-beta-3">Python 3.6.0 beta 3</a><ul>
<li><a class="reference internal" href="#id114">Core and Builtins</a></li>
<li><a class="reference internal" href="#id115">Library</a></li>
<li><a class="reference internal" href="#id116">Windows</a></li>
<li><a class="reference internal" href="#id117">Build</a></li>
<li><a class="reference internal" href="#id118">Tests</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-beta-2">Python 3.6.0 beta 2</a><ul>
<li><a class="reference internal" href="#id119">Core and Builtins</a></li>
<li><a class="reference internal" href="#id120">Library</a></li>
<li><a class="reference internal" href="#id121">Windows</a></li>
<li><a class="reference internal" href="#id122">C API</a></li>
<li><a class="reference internal" href="#id123">Build</a></li>
<li><a class="reference internal" href="#id124">Tests</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-beta-1">Python 3.6.0 beta 1</a><ul>
<li><a class="reference internal" href="#id125">Core and Builtins</a></li>
<li><a class="reference internal" href="#id126">Library</a></li>
<li><a class="reference internal" href="#id127">IDLE</a></li>
<li><a class="reference internal" href="#id128">C API</a></li>
<li><a class="reference internal" href="#id129">Tests</a></li>
<li><a class="reference internal" href="#id130">Build</a></li>
<li><a class="reference internal" href="#id131">Tools/Demos</a></li>
<li><a class="reference internal" href="#id132">Windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-alpha-4">Python 3.6.0 alpha 4</a><ul>
<li><a class="reference internal" href="#id133">Core and Builtins</a></li>
<li><a class="reference internal" href="#id134">Library</a></li>
<li><a class="reference internal" href="#id135">IDLE</a></li>
<li><a class="reference internal" href="#id136">Tests</a></li>
<li><a class="reference internal" href="#id137">Windows</a></li>
<li><a class="reference internal" href="#id138">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-alpha-3">Python 3.6.0 alpha 3</a><ul>
<li><a class="reference internal" href="#id139">Core and Builtins</a></li>
<li><a class="reference internal" href="#id140">Library</a></li>
<li><a class="reference internal" href="#id141">Security</a></li>
<li><a class="reference internal" href="#id142">Library</a></li>
<li><a class="reference internal" href="#id143">Security</a></li>
<li><a class="reference internal" href="#id144">Library</a></li>
<li><a class="reference internal" href="#id145">IDLE</a></li>
<li><a class="reference internal" href="#id146">C API</a></li>
<li><a class="reference internal" href="#id147">Build</a></li>
<li><a class="reference internal" href="#id148">Tools/Demos</a></li>
<li><a class="reference internal" href="#id149">Documentation</a></li>
<li><a class="reference internal" href="#id150">Tests</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-alpha-2">Python 3.6.0 alpha 2</a><ul>
<li><a class="reference internal" href="#id151">Core and Builtins</a></li>
<li><a class="reference internal" href="#id152">Library</a></li>
<li><a class="reference internal" href="#id153">Security</a></li>
<li><a class="reference internal" href="#id154">Library</a></li>
<li><a class="reference internal" href="#id155">Security</a></li>
<li><a class="reference internal" href="#id156">Library</a></li>
<li><a class="reference internal" href="#id157">IDLE</a></li>
<li><a class="reference internal" href="#id158">Documentation</a></li>
<li><a class="reference internal" href="#id159">Tests</a></li>
<li><a class="reference internal" href="#id160">Windows</a></li>
<li><a class="reference internal" href="#id161">Build</a></li>
<li><a class="reference internal" href="#id162">Windows</a></li>
<li><a class="reference internal" href="#id163">C API</a></li>
<li><a class="reference internal" href="#id164">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-6-0-alpha-1">Python 3.6.0 alpha 1</a><ul>
<li><a class="reference internal" href="#id165">Core and Builtins</a></li>
<li><a class="reference internal" href="#id166">Library</a></li>
<li><a class="reference internal" href="#id167">Security</a></li>
<li><a class="reference internal" href="#id168">Library</a></li>
<li><a class="reference internal" href="#id169">Security</a></li>
<li><a class="reference internal" href="#id170">Library</a></li>
<li><a class="reference internal" href="#id171">Security</a></li>
<li><a class="reference internal" href="#id172">Library</a></li>
<li><a class="reference internal" href="#id173">IDLE</a></li>
<li><a class="reference internal" href="#id174">Documentation</a></li>
<li><a class="reference internal" href="#id175">Tests</a></li>
<li><a class="reference internal" href="#id176">Build</a></li>
<li><a class="reference internal" href="#id177">Windows</a></li>
<li><a class="reference internal" href="#id178">Tools/Demos</a></li>
<li><a class="reference internal" href="#id179">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-3-final">Python 3.5.3 final</a></li>
<li><a class="reference internal" href="#python-3-5-3-release-candidate-1">Python 3.5.3 release candidate 1</a><ul>
<li><a class="reference internal" href="#id180">Core and Builtins</a></li>
<li><a class="reference internal" href="#id181">Library</a></li>
<li><a class="reference internal" href="#id182">Security</a></li>
<li><a class="reference internal" href="#id183">Library</a></li>
<li><a class="reference internal" href="#id184">Security</a></li>
<li><a class="reference internal" href="#id185">Library</a></li>
<li><a class="reference internal" href="#id186">IDLE</a></li>
<li><a class="reference internal" href="#id187">C API</a></li>
<li><a class="reference internal" href="#id188">Documentation</a></li>
<li><a class="reference internal" href="#id189">Tests</a></li>
<li><a class="reference internal" href="#id190">Tools/Demos</a></li>
<li><a class="reference internal" href="#id191">Windows</a></li>
<li><a class="reference internal" href="#id192">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-2-final">Python 3.5.2 final</a><ul>
<li><a class="reference internal" href="#id193">Core and Builtins</a></li>
<li><a class="reference internal" href="#id194">Tests</a></li>
<li><a class="reference internal" href="#id195">IDLE</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-2-release-candidate-1">Python 3.5.2 release candidate 1</a><ul>
<li><a class="reference internal" href="#id196">Core and Builtins</a></li>
<li><a class="reference internal" href="#id197">Security</a></li>
<li><a class="reference internal" href="#id198">Library</a></li>
<li><a class="reference internal" href="#id199">Security</a></li>
<li><a class="reference internal" href="#id200">Library</a></li>
<li><a class="reference internal" href="#id201">Security</a></li>
<li><a class="reference internal" href="#id202">Library</a></li>
<li><a class="reference internal" href="#id203">Security</a></li>
<li><a class="reference internal" href="#id204">Library</a></li>
<li><a class="reference internal" href="#id205">Security</a></li>
<li><a class="reference internal" href="#id206">Library</a></li>
<li><a class="reference internal" href="#id207">IDLE</a></li>
<li><a class="reference internal" href="#id208">Documentation</a></li>
<li><a class="reference internal" href="#id209">Tests</a></li>
<li><a class="reference internal" href="#id210">Build</a></li>
<li><a class="reference internal" href="#id211">Windows</a></li>
<li><a class="reference internal" href="#id212">Tools/Demos</a></li>
<li><a class="reference internal" href="#id213">Windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-1-final">Python 3.5.1 final</a><ul>
<li><a class="reference internal" href="#id214">Core and Builtins</a></li>
<li><a class="reference internal" href="#id215">Windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-1-release-candidate-1">Python 3.5.1 release candidate 1</a><ul>
<li><a class="reference internal" href="#id216">Core and Builtins</a></li>
<li><a class="reference internal" href="#id217">Library</a></li>
<li><a class="reference internal" href="#id218">IDLE</a></li>
<li><a class="reference internal" href="#id219">Documentation</a></li>
<li><a class="reference internal" href="#id220">Tests</a></li>
<li><a class="reference internal" href="#id221">Build</a></li>
<li><a class="reference internal" href="#id222">Windows</a></li>
<li><a class="reference internal" href="#id223">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-final">Python 3.5.0 final</a><ul>
<li><a class="reference internal" href="#id224">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-release-candidate-4">Python 3.5.0 release candidate 4</a><ul>
<li><a class="reference internal" href="#id225">Library</a></li>
<li><a class="reference internal" href="#id226">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-release-candidate-3">Python 3.5.0 release candidate 3</a><ul>
<li><a class="reference internal" href="#id227">Core and Builtins</a></li>
<li><a class="reference internal" href="#id228">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-release-candidate-2">Python 3.5.0 release candidate 2</a><ul>
<li><a class="reference internal" href="#id229">Core and Builtins</a></li>
<li><a class="reference internal" href="#id230">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-release-candidate-1">Python 3.5.0 release candidate 1</a><ul>
<li><a class="reference internal" href="#id231">Core and Builtins</a></li>
<li><a class="reference internal" href="#id232">Library</a></li>
<li><a class="reference internal" href="#id233">IDLE</a></li>
<li><a class="reference internal" href="#id234">Documentation</a></li>
<li><a class="reference internal" href="#id235">Tests</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-beta-4">Python 3.5.0 beta 4</a><ul>
<li><a class="reference internal" href="#id236">Core and Builtins</a></li>
<li><a class="reference internal" href="#id237">Library</a></li>
<li><a class="reference internal" href="#id238">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-beta-3">Python 3.5.0 beta 3</a><ul>
<li><a class="reference internal" href="#id239">Core and Builtins</a></li>
<li><a class="reference internal" href="#id240">Library</a></li>
<li><a class="reference internal" href="#id241">Tests</a></li>
<li><a class="reference internal" href="#id242">Documentation</a></li>
<li><a class="reference internal" href="#id243">Build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-beta-2">Python 3.5.0 beta 2</a><ul>
<li><a class="reference internal" href="#id244">Core and Builtins</a></li>
<li><a class="reference internal" href="#id245">Library</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-beta-1">Python 3.5.0 beta 1</a><ul>
<li><a class="reference internal" href="#id246">Core and Builtins</a></li>
<li><a class="reference internal" href="#id247">Library</a></li>
<li><a class="reference internal" href="#id248">IDLE</a></li>
<li><a class="reference internal" href="#id249">Tests</a></li>
<li><a class="reference internal" href="#id250">Documentation</a></li>
<li><a class="reference internal" href="#id251">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-alpha-4">Python 3.5.0 alpha 4</a><ul>
<li><a class="reference internal" href="#id252">Core and Builtins</a></li>
<li><a class="reference internal" href="#id253">Library</a></li>
<li><a class="reference internal" href="#id254">Build</a></li>
<li><a class="reference internal" href="#id255">Tests</a></li>
<li><a class="reference internal" href="#id256">Tools/Demos</a></li>
<li><a class="reference internal" href="#id257">C API</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-alpha-3">Python 3.5.0 alpha 3</a><ul>
<li><a class="reference internal" href="#id258">Core and Builtins</a></li>
<li><a class="reference internal" href="#id259">Library</a></li>
<li><a class="reference internal" href="#id260">Build</a></li>
<li><a class="reference internal" href="#id261">Tests</a></li>
<li><a class="reference internal" href="#id262">Tools/Demos</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-alpha-2">Python 3.5.0 alpha 2</a><ul>
<li><a class="reference internal" href="#id263">Core and Builtins</a></li>
<li><a class="reference internal" href="#id264">Library</a></li>
<li><a class="reference internal" href="#id265">Build</a></li>
<li><a class="reference internal" href="#id266">C API</a></li>
<li><a class="reference internal" href="#id267">Windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-3-5-0-alpha-1">Python 3.5.0 alpha 1</a><ul>
<li><a class="reference internal" href="#id268">Core and Builtins</a></li>
<li><a class="reference internal" href="#id269">Library</a></li>
<li><a class="reference internal" href="#id270">IDLE</a></li>
<li><a class="reference internal" href="#id271">Build</a></li>
<li><a class="reference internal" href="#id272">C API</a></li>
<li><a class="reference internal" href="#id273">Documentation</a></li>
<li><a class="reference internal" href="#id274">Tests</a></li>
<li><a class="reference internal" href="#id275">Tools/Demos</a></li>
<li><a class="reference internal" href="#id276">Windows</a></li>
</ul>
</li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="2.0.html"
                        title="previous chapter">What’s New in Python 2.0</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="../tutorial/index.html"
                        title="next chapter">The Python Tutorial</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../bugs.html">Report a Bug</a></li>
      <li>
        <a href="https://github.com/python/cpython/blob/3.6/Doc/whatsnew/changelog.rst"
            rel="nofollow">Show Source
        </a>
      </li>
    </ul>
  </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="../tutorial/index.html" title="The Python Tutorial"
             >next</a> |</li>
        <li class="right" >
          <a href="2.0.html" title="What’s New in Python 2.0"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <span class="language_switcher_placeholder">en</span>
          <span class="version_switcher_placeholder">3.6.10</span>
          <a href="../index.html">Documentation </a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >What’s New in Python</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="Quick search" type="text" name="q" />
          <input type="submit" value="Go" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>  
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 2001-2020, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="https://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Apr 30, 2020.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 2.3.1.
    </div>

  </body>
</html>